Mon lien de deconnexion marche bizarement ...[resolu]

Mon lien de deconnexion marche bizarement ...[resolu] - PHP - Programmation

Marsh Posté le 16-06-2004 à 18:00:47    

Voila, dans mon site on peut se loguer, ce qui creer des sessions. jusque la tout va bien.
 
ce qui fait qu'une fois loguer on arrive a des liens de ce style la:
 
 
http://mapage.com/page2.php%20?pag [...] ion=machin
 
 
seulement j'ai voulu faire un lien qui deconnecte l'utilisateur et tue la session, ce qui marche presque bien...
le probleme c'est que la premiere fois que je click sur le lien pour deco, jarrive a l'URL suivante:
 
 
http://mapage.com/page2.php?page=d [...] 0055348a19
 
puis si je rappuie une seconde fois j'arrive a celle ci:
 
http://mapage.com/page2.php?page=deco
 
 
comment faire pour arriver directement a la derniere url ?
 
 
le lien deconnexion envoie sur une page qui fait ceci:  
 
  session_destroy();
  $page = 'accueil.php';
 
donc au final jarrive bien a la page d'acceuil, mais avec l'url http://mapage.com/page2.php?page=d [...] 0055348a19
 
a la place de: http://mapage.com/page2.php?page=deco
 
 
voila,jespere avoir ete assez clair ... :s
parceque pour l'instant le resultat est que ca marche, mais il faut cliker 2 fois sur le lien pour se loguer pour y acceder...(ou recliker une deuxieme fois sur deconnexion).
 
 
 
 
 
PS: mapage.com c'est pas ma page, c'etait juste pour l'exemple ^^


Message édité par N@rcoleptik le 16-06-2004 à 23:11:26
Reply

Marsh Posté le 16-06-2004 à 18:00:47   

Reply

Marsh Posté le 16-06-2004 à 18:37:36    

Va sur le site de www.nexen.net et dans le moteur tape "PHPSESSID" tu comprendra rapidement ;) j'en dit pas plus

Reply

Marsh Posté le 16-06-2004 à 21:58:02    

j'ajoute juste que session_destroy() marche mal, $_SESSION='' ou unset($_SESSION); sont plus efficaces

Reply

Marsh Posté le 16-06-2004 à 23:10:04    

Bon ben merci, c'etait le session destroy ki marchai pas, avec le unset ca va mieu :)

Reply

Marsh Posté le 17-06-2004 à 14:10:13    

Do NOT unset the whole $_SESSION with unset($_SESSION) as this will disable the registering of session variables through the $_SESSION superglobal. (http://fr3.php.net/session_unset)
 
Pour supprimer proprement une session (code issu de www.php.net) :
 

Code :
  1. <?php
  2. // Initialize the session.
  3. // If you are using session_name("something" ), don't forget it now!
  4. session_start();
  5. // Unset all of the session variables.
  6. $_SESSION = array();
  7. // Finally, destroy the session.
  8. session_destroy();
  9. ?>

Reply

Marsh Posté le 17-06-2004 à 22:14:45    

ben je pige pas, faut refaire un session_start pour tout vidé ? c bien ca ?

Reply

Marsh Posté le 18-06-2004 à 00:42:50    

N@rcoleptik a écrit :

ben je pige pas, faut refaire un session_start pour tout vidé ? c bien ca ?


 [:papy] "oui + session_destroy(), car quand te mes ceci ça permet d'initialiser la session pour l'utilisateur, donc si tu ne le met pas il ne peut pas savoir de quel utilisateur il doit supprimer!..."
 
;) PpHpy à raison car il faut pas oublier que lorsque tu utilises une session cela crée un fichier temporaire dans le temp de php (definit dans php.ini) et il a pour nom la meme clé du cookie qu'il te place a chaque fois pour te reconnaitre. Si tu veux supprimer la session il faut bien mettre session_start().


Message édité par Berceker United le 18-06-2004 à 00:47:17
Reply

Sujets relatifs:

Leave a Replay

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