Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4891 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Impossible d'effacer un cookie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Impossible d'effacer un cookie

n°410997
ced_voyage
Posté le 29-05-2003 à 13:55:35  profilanswer
 

Bonjour,
 
Je n'arrive pas à trouver d'où vient l'erreur. J'utilise un cookie pour la connexion automatique de mes clients sur mon site. Or après leur déconnexion du site (avec effacement des cookies) quand il se reconnecte le cookie est toujours là.
 
Peut-être trouverez-vous l'erreur ?
 
Voici quelques bout de code sur mon site d'où pourrait peut etre venir le problème :
* si le client vient de cliquer sur "inscription sur le Site"

Code :
  1. // si l'inscription s'est bien déroulée, on envoie un cookie des identifiants chez le client
  2.   $expire = 24*3600*365*1; // 1 an
  3.   setcookie("username",$username,time()+$expire,"/" );
  4.   setcookie("password",$password,time()+$expire,"/" );


 
* si le client vient de cliquer sur "Connection sur le Site"

Code :
  1. // si la connexion s'est bien déroulé, on envoie un cookie des identifiants chez le client pour ne plus qu'il ait besoin de se connecter
  2. if ( !$_COOKIE["username"] && !$_COOKIE["password"] )
  3. {  $expire = 24*3600*365*1; // 1 an
  4.    setcookie("username",$username,time()+$expire,"/" );
  5.    setcookie("password",$password,time()+$expire,"/" );
  6. }


La connexion doit donc ne se faire qu'une fois
 
* si le client vient de cliquer sur "Se déconnecter"

Code :
  1. // destruction des cookies du client
  2.   setcookie("username" );
  3.   setcookie("password" );
  4.   session_start();
  5.   $old_user = $valid_user;  // pour dire la personne qui vient de se déconnecter
  6.   $result_unreg = session_unregister("valid_user" );
  7.   $result_dest = session_destroy();
  8. // crée la page HTML
  9. if (!empty($old_user))
  10. {
  11.   if ($result_unreg && $result_dest)
  12.   {
  13.     // si la déconnexion a bien réussie
  14.     // creation de la page web
  15.     ...
  16.   }
  17. }


 
Donc après je me suis dit que sur la page d'accueil, il fallait bien faire une fonction pour tester si le cookie existe chez le client
 
* index.html

Code :
  1. test_cookie();
  2. session_start();
  3. ...  // création de la page d'accueil


 
avec la fonction test_cookie commpe suit :

Code :
  1. function test_cookie()
  2. {
  3. global $valid_user;
  4. // vérification si la personne est toujours loggé
  5. if ( !session_is_registered("valid_user" ) )
  6. {
  7.     if ( $_COOKIE["username"] && $_COOKIE["password"] )
  8.     {  $username = $_COOKIE["username"];
  9.         $passwd   = $_COOKIE["password"];
  10.             if( login($username, $passwd) )  // vérification si l'utilisateur est dans la DB
  11.            {    $valid_user = $username;  // si l'utilisateur est dans la DB, on enregistre sa session
  12.                  session_register("valid_user" );
  13.            }
  14.      }
  15. }
  16. }


 
Voilà les autres parties du code ont l'air de marcher cqr avant je n'avais pas cet gestion du cookie et tout marchait nickel.
 
Si vous avez des suggestions ...
 
Cédric

mood
Publicité
Posté le 29-05-2003 à 13:55:35  profilanswer
 

n°411006
the real m​oins moins
Posté le 29-05-2003 à 14:17:02  profilanswer
 

:heink: je vois pas pq tu esperes que le cookie soit plus là à la "sortie" du site si tu lui met une expiration d'un an....


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°411010
the real m​oins moins
Posté le 29-05-2003 à 14:18:30  profilanswer
 

(pq tu mets le mot de passe dans le cookie [:psychokwak])


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°411038
ced_voyage
Posté le 29-05-2003 à 15:08:49  profilanswer
 

c'est pas possible d'effacer le cookie alors ?
 
Je croyais que la commande setcookie avec le nom de la variable appelé toute seule : setcookie("variable" ) ; effacait le cookie ?

n°411052
the real m​oins moins
Posté le 29-05-2003 à 15:50:03  profilanswer
 

ça je sais pas, mais lis la doc au sujet de l'expiration, c'est tres certainement indiqué qu'il faut mettre un qqchose comme 0 ou -1 pour que le cookie soit un cookie 'session only'


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°411053
the real m​oins moins
Posté le 29-05-2003 à 15:50:33  profilanswer
 

de plus, si tu utilises les sessions de php, je vois pas pq tu geres un cookie manuellement (avec le mot de passe dedans en plus? [:mlc])


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°411061
ced_voyage
Posté le 29-05-2003 à 16:27:47  profilanswer
 

Le cookie me sert à ce que les personnes n'aient plus besoin de rentrer leur mot de passe quand elles se connecte à nouveau sur le site. Elles sont reconnus et loggé automatiquement.
 
Si je ne passe pas par des cookie la session marche aussi très bien mais les gars sont obligés de se loggé à chaque visite sur mon site. C'est pour çà que dans le cookie je met le login et le pass.
 
Oui tu as raison l'erreur provenait de l'expiration. C'est bon c'est résolu. Merci.
 
Cédric

n°411068
the real m​oins moins
Posté le 29-05-2003 à 16:37:49  profilanswer
 

mais euh pq tu voulais que le cookie soit effacé alors  :pt1cable:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°411220
MagicBuzz
Posté le 29-05-2003 à 23:27:25  profilanswer
 

Un cookie par défaut expire à la fin de la session.
 
Pour éviter ça, on met une date d'expiration.
 
Il suffit donc de virer la date d'expiration qui a été mise et le cookie sera détruit tout seul comme un grand lorsque l'uitilisateur va quitter le site.


Message édité par MagicBuzz le 29-05-2003 à 23:27:38
n°411224
the real m​oins moins
Posté le 29-05-2003 à 23:35:45  profilanswer
 

MagicBuzz a écrit :

Un cookie par défaut expire à la fin de la session.
 
Pour éviter ça, on met une date d'expiration.
 
Il suffit donc de virer la date d'expiration qui a été mise et le cookie sera détruit tout seul comme un grand lorsque l'uitilisateur va quitter le site.

un peu grillé je pense ;)
bon ok j'avais pas expliqué mais il a trouvé tout seul en lisant la doc :)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 29-05-2003 à 23:35:45  profilanswer
 

n°411235
MagicBuzz
Posté le 29-05-2003 à 23:41:16  profilanswer
 

the real moins moins a écrit :

un peu grillé je pense ;)
bon ok j'avais pas expliqué mais il a trouvé tout seul en lisant la doc :)


En fait j'avais lu au début où tout le monde s'embourbait un peu, et j'ai lu les derniers posts qu'après avoir posté :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Impossible d'effacer un cookie

 

Sujets relatifs
[PHP] Création de Sous-dossier impossibleErreur, impossible de mettre une $var dans un tableau...
Cookie créé en local qui doit être lu ensuite sur un domaine précis[AVIS] ma méthode pour stocker un password ds un cookie
Comment effacer le contenu d'un fichier texte???[PHP]Probleme de creation de cession/cookie
effacer une ligne entiere et reattribuer son id[PHP] Temps restant avant expiration d'un cookie
impossible de trouver l'erreure....[PHP]Sockets windows -> impossible de créer une socket!
Plus de sujets relatifs à : Impossible d'effacer un cookie


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)