> Tous les forumsForum des Webmasters

 Combiner Cookie et Session
Statut du sujet : NON RESOLU Imprimer
 apz
  Posté le 13/04/2003 @ 22:39  
 Petit astucien

116 Messages
[smile] salut, en fait je voudrais ajouter une zone membres dans mon site. je voulais combiner cookie et session : le cookie sert au login automatique de l'utilisateur quand il reviendra au site. et depuis ce cookie on cre une session. mais je n'arrive toujours pas à concretiser. dans cette partie membre, il y a un menu dont une rubrique boite à messages. 1 - l'utilisateur en demandant de se logger dans son compte doit passer par un formulaire, s'il n'y a pas de session deja enregistree, ni un cookie present sur la machine. 2 - une fois le cookie ($var_cookie) est trouve, une verification du login dans la base des membres est necessaire. 3- la verification a ete passe avec succes, une session est enregistree et l'utilisateur est directement rediriger vers son compte. 4- s'il y a pas un cookie present, et le formulaire est bien rempli (verification avec user_memb.php), un cookie est cree ainsi qu'une session. mais en cliquant sur la rubrique boite à message, parfois on est dedans avec comme login, celui passe par le formulaire ou cree depuis le cookie, mais parfois je me trouve dans l'espace messagerie avec le message "vous n'etes pas logger" !!!! parfois tout fonctionne normalement mais la deconnexion ne se fait pas comme il faut : la session est toujours presente, elle n'est pas detruite, mais aussi elle ne permet pas de ce logger directement à la zone membre, il faut passer par le formulaire ! un autre probleme : en ouvrant une autre fenetre IE, et en voulant aller a la zone membre, j'aurais le formulaire au lieu du menu zone membre, meme si le cookie est encore present sur la machine !!! ou un autre message d'erreur s'affiche : Erreur, ce nom d'utilisateur est inexistant. je crois qu'il reste du travail à faire. la page login.php : <? if ($var_cookie) { $login=$var_cookie; session_start(); session_register('login'); include "user_cook.php"; $id_mem=$HTTP_COOKIE_VARS['id_mem']; header("locatin: memb.php?login=$login&pass=$pass&id=$id_mem)"; exit; } else { session_start(); if (($page == "login")) { $pass = md5(stripslashes($pass)); include "user_memb.php"; Header("Location: membre.php?login=login&pass=$pass&id=$checkid"); exit; } else { echo "<form action=login.php?&page=login method=post><center> <Table Border=\"1\" CellSpacing=\"0\" CellPadding=\"4\" bordercolor=\"#eeeddd\"> <tr align=center><td width=100>votre login</td><td><input type=text name=login></td></tr> <tr align=center><td width=100>votre mdp</td><td><input type=password name=pass></td></tr> <tr><td colspan=2 align=right><input type=submit value=envoyer></td></tr> </table></form>"; } } ?> user_cook.php <? $sql = "SELECT id, login, pass FROM $matable WHERE login = '$login'"; $result = mysql_query($sql); $i = mysql_fetch_array($result); if ($i == "") { echo "Erreur, ce nom d'utilisateur est inexistant"; die; } elseif ($i!= "") { session_destroy(); $checkid = $i[id]; $id_membre = $i[id]; $login = $i[login]; setcookie('memb', '$login', time()+ 3600); session_name ('compte'); session_start(); $idsession = session_id(); session_register ('idsession'); session_register ('id_membre'); session_register ('login'); session_register ('pass'); } ?> user_memb.php <? $sql = "SELECT id, login, pass FROM $matable WHERE login = '$login'"; $result = mysql_query($sql); $i = mysql_fetch_array($result); if ($i == "") { echo "Erreur, ce nom d'utilisateur est inexistant"; die; } elseif ($i!= "") { if ($pass != md5(stripslashes($i[pass]))) { echo "Votre mot de passe est incorrect"; die; } session_destroy(); $checkid = $i[id]; $id_membre = $i[id]; $login = $i[login]; setcookie('memb', '$login', time()+ 3600); session_name ('compte'); session_start(); $idsession = session_id(); session_register ('idsession'); session_register ('id_membre'); session_register ('login'); session_register ('pass'); } ?> Merci. [smile]
 Afficher le profil de apz Envoyer un message privé à apz
 
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page