Débutant php : à l'aide !

Débutant php : à l'aide ! - Programmation

Marsh Posté le 14-01-2002 à 11:10:21    

Voilà... j'espère désespéremment de faire la chose suivante.
A partir d'un formulaire html tout bête, l'utilisateur s'identifie (avec un login) puis valide grâce au bouton "valider". J'ai utilisé l'action "POST" vers le fichier "toto.php".
Sur ce fichier toto.php, je dois permettre à l'utilisateur de sélectioner un des trois liens qui doivent lui afficher - sur la même page, en dessous de ces liens - ses 3 types de caractéristiques (je fais appel à une base MySQL).
 
En fait, tout mes liens fonctionne bien, sauf que je me retrouve avec l'erreur : "l'utilisateur n'est pas défini" lorsque celui-ci clique sur un des liens.
 
En gros, pour résumé, je n'arrive pas à transmettre l'ID de l'user via le lien.
Pourtant, mon url est du style : .../toto.php?page=1
 
J'ai essayé de créer un cookier mais apparemment ça n'a pas marché :(
Et je n'arrive pas à trouver d'aide sur le net qui me résolve mon pb...
 
Bref, merci d'avance pour votre aide Ô combien prestigieuse! ;)

Reply

Marsh Posté le 14-01-2002 à 11:10:21   

Reply

Marsh Posté le 14-01-2002 à 11:15:38    

Utilise-tu des sessions ?


---------------
A+++ Bruce - http://www.bheller.com
Reply

Marsh Posté le 14-01-2002 à 11:20:35    

Haaaa.... nouveau mot!  
Non, j'en utilise pas.
Kesako?

Reply

Marsh Posté le 14-01-2002 à 13:36:44    

Un petit conseil, regarde les tutoriels sur www.phpfrance.com ;)

 

[edtdd]--Message édité par Bruce--[/edtdd]


---------------
A+++ Bruce - http://www.bheller.com
Reply

Marsh Posté le 14-01-2002 à 15:01:25    

Tu devrais utiliser les cookies ! ;)
 
Disons que tu as une page pour t'identifier ; la page de verification va s'appeler : verif.php
 
Tout en haut de verif.php (Plus haut de la balise HTML), tu mets :

Code :
  1. <?
  2. $expire = 1800;
  3. setcookie("login","$login",time()+$expire);
  4. setcookie("pass","$pass",time()+$expire);
  5. ?>


 
Sur ta page protégée, tout en haut, tu mets :

Code :
  1. <?
  2. if (!$HTTP_COOKIE_VARS["login"] && !$HTTP_COOKIE_VARS["pass"])
  3. {
  4. echo "fo vous identifier";
  5. exit;
  6. }
  7. ?>


 
Avec ce code, ca envie deux cookies en un ; en fait, ds un cookie, tu auras le login et le pass.
 
Kand le visiteur s'identifie, ca balance un cookie sur son disque dur ; kand il va sur la page protégée, l'autre code appelle le cookie ; s'il y est, la page visible, s'il l'est pas, tu auras : "Fo vous identifier :)
 
Voila, @+ :)


---------------
Envie d'un bol d'air ? Traxxas Revo 3.3
Reply

Marsh Posté le 14-01-2002 à 15:09:31    

pour tranmettre ton id d'utilisateur ton lien doit ressembler a ca: toto.php3?id=$id
 
avec la variable $id contenant biensur l'ID de l'utilisateur.
Et sur ta page toto.php3 tout au debut tu testes l'ID ;)

Reply

Marsh Posté le 15-01-2002 à 11:44:47    

Merci pour ces réponses!
j'ai pour le moment choisi la méthode du cookie qui fonctionne plutôt bien sauf que, lorsque je me déconnecte (j'affecte à mon cookie une valeur nulle) et que j'essaie de me reconnecter via le formulaire habituel, j'obtient mon message ("vous n'êtes pas identifié" ).
Mais quand je fais un refresh, il me détecte bien, finalement, mon user...
Donc apparemment, IE garde en mémoire la page en déconnexion et me l'affiche par défaut, même quand je suis connecté.
Y'a un moyen d'empêcher ça?

Reply

Marsh Posté le 15-01-2002 à 11:51:48    

perso j'utilise les 2 methodes: celle que j'ai donne plus haut et le cookie.
 
la methode qui consiste a controler les log/pass sur chaque page en les comparant a une base de donnee me parait etre plus sur. Enfin je me trompe peut etre mais vu que l'utilisateur n'a pas acces a la base de donnee. Par contre il peut a volonte modifie un cookie.
 
Le cookie je m'en sert pour l'identification automatique qui peut etre active par l'utilisteur. cela lui evite de taper a chaque fois son log/pass.

Reply

Marsh Posté le 15-01-2002 à 12:25:58    

C'est vrai que pour ce qui est de la sécurité, je sais pas vraiment...
 
Par contre, j'ai bel et bien un problème de refresh à faire pour que mon fichier php reconnaisse le user.
Je pige pas pourquoi.
Le cookie, il faut le définir dans le fichier de formulaire ou bien dans le fichier récepteur de la valeur envoyer par le submit du formulaire?

Reply

Marsh Posté le 15-01-2002 à 12:32:43    

en général : formulaire -> post -> page redirrigée
 
dans la page "post" (=page du Action de ton formulaire) tu enregistres les données, tu ecris un cookie, ...
puis tu redirigse sur une page de confirmation avec un header (comme ça si l'utilisateur joue avec "page précédente" du navigateur il ne ressoumet pas les données.

Reply

Marsh Posté le 15-01-2002 à 12:32:43   

Reply

Marsh Posté le 15-01-2002 à 13:16:04    

ethernal a écrit a écrit :

en général : formulaire -> post -> page redirrigée
 
dans la page "post" (=page du Action de ton formulaire) tu enregistres les données, tu ecris un cookie, ...
puis tu redirigse sur une page de confirmation avec un header (comme ça si l'utilisateur joue avec "page précédente" du navigateur il ne ressoumet pas les données.  




 
C'est une redirection automatique qu'il faut faire?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed