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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Effacer un cookie ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Effacer un cookie ?

n°133360
Alex01
Posté le 02-05-2002 à 12:05:33  profilanswer
 

Bonjour à tous
 
Je ne parviens pas à effacer un cookie que j'ai emis sur des postes clients.
 
J'insère le code : Setcookie("nom_du_cookie" );
Mais mon cookie reste en place dans le rep. cookie de Windows.
(Au passage, le fichier txt du cookie porte le nom de mon serveur et pas celui que j'ai attribué par défaut dans le php.ini. Par contre dans le fichier 'nom_du_serveur.txt' je retouve le nom que j'ai donné au cookie : Est-ce Normal?).
 
Comment puis-je effacer mon cookie immédiatement.
Merci
 
Alex01

mood
Publicité
Posté le 02-05-2002 à 12:05:33  profilanswer
 

n°133364
greg@frees​tarthu
Posté le 02-05-2002 à 12:07:14  profilanswer
 

en lui donnant une "date de peremption" dans le passé

n°133367
greg@frees​tarthu
Posté le 02-05-2002 à 12:08:27  profilanswer
 

Alex01 a écrit a écrit :

 
(Au passage, le fichier txt du cookie porte le nom de mon serveur et pas celui que j'ai attribué par défaut dans le php.ini. Par contre dans le fichier 'nom_du_serveur.txt' je retouve le nom que j'ai donné au cookie : Est-ce Normal?).




 
oui
il faut faire la difference entre le "nom" du cookie et la façon dont ton browser le stocke
si tu essaies avec netscape tu verras que le cookie est stocké differement

n°133408
Alex01
Posté le 02-05-2002 à 13:40:50  profilanswer
 

Merci pour les réponses mais :
 
ça ne fonctionne pas !!!! :heink:  :heink:  
 
Voici les lignes de code que j'ai testé :
<?php
session_start();
Setcookie("Cookie_Sicaweb","id_emp",time()-86400);
 
print ("<p><font size=\"4\" face=\"Arial, Helvetica, sans-serif\" color=\"#0000FF\">" );
print ("Vous venez d'être désinscrit(e).............?>
 
j'ai aussi essayé :
Setcookie("Cookie_Sicaweb" );
Setcookie("Cookie_Sicaweb","id_emp",time());
Setcookie("Cookie_Sicaweb",time());
 
"id_emp" est une variable transmise au cookie.
 
Rien à faire, mon fichier nom_du_serveur.txt est toujours présent dans le rep. Cookie de Windows.
 
Que puis-je faire ?
 
Merci  
 
Alex01

n°133423
greg@frees​tarthu
Posté le 02-05-2002 à 14:16:45  profilanswer
 

Alex01 a écrit a écrit :

 
Rien à faire, mon fichier nom_du_serveur.txt est toujours présent dans le rep. Cookie de Windows.
 
Que puis-je faire ?




 
peut etre, mais l'important c'est qu'il ne soit plus envoyé au serveur correspondant avec tes requetes... essaie

n°133424
ethernal
Chercheur de vérité...
Posté le 02-05-2002 à 14:18:18  profilanswer
 

il est encore présent mais n'a plus de valeur réelle.
(il n'y pas moyen de deleter le cookie à partir d'un site)
 
si c'est pour stocker un login/pwd, donne lui des valeurs nulles, ça écrasera les anciennes.

n°133434
Alex01
Posté le 02-05-2002 à 14:32:51  profilanswer
 

Ok, je ne savais pas que les cookies expirés n'étaient pas effacés du poste client.
 
Par contre j'utilise les lignes de code suivantes pour voir si l'utilisateur est enregistré ou pas :
 
 
if (isset($HTTP_COOKIE_VARS["$nom_cookie"])) //Si le cookie existe chez le visiteur
{
$session=$HTTP_COOKIE_VARS["$nom_cookie"];
mysql_connect("$serveur","$login","$pass" );
control_session($database,$session);  //controle si la session utilisateur existe
}
else  //Si le cookie n'existe pas    
{
header("location:./intranet2/inscription/formulaire.php" );
exit;
}
 
Donc : Si le cookie existe: je vais chercher les paramètres dans la session corespondante et je vais vers une autre page
 
Sinon, je vais ailleur.
 
Est-ce que c'est bon ???????
Puis-je m'en sortir avec ce test pour savoir si un utilisateur est valide (cookie non expiré) ou si il n'est pas valide (cookie expiré).
 
Parceque à chaque fois, (malgrè les setcookie("nom_du_cookie" );), le système considère que le cookie est valide et me f

n°133438
Alex01
Posté le 02-05-2002 à 14:34:27  profilanswer
 

et me fait rentré sur mon site.
 
Comment procéder ?
 
merci  
Alex01

n°133444
ethernal
Chercheur de vérité...
Posté le 02-05-2002 à 14:42:44  profilanswer
 

tu as pas une table derrière pour vérifier le login/pwd ?
sinon de toute façon:
if (isset($HTTP_COOKIE_VARS["$nom_cookie"]) && ($HTTP_COOKIE_VARS["$nom_cookie"]!="" ) )  
{  
 
dans la déconnexion/effacement du cookie tu mets le login et le pwd à "".

n°133449
Alex01
Posté le 02-05-2002 à 14:51:22  profilanswer
 

En fait, mon cookie contient le nom de la session du l'utilisateur qui est stockée sur ma Base de Données. Et c'est cette session qui contient le seul paramètre que je stocke : l'ID_employe correspondant.
 
Voici le code de création du cookie :
 
session_start();          //création d'une session
$id_session=session_id(); //donne l'ID de la session ainsi générée
session_register("id_emp" ); //enregistrement de la valeur de "id_emp" dans la session
 
le reste est paramétré dans php.ini (nom du cookie, durée de vie,...).
 
Avec ceci comment puis-je procéder pour invalider le cookie ?

mood
Publicité
Posté le 02-05-2002 à 14:51:22  profilanswer
 

n°133482
ethernal
Chercheur de vérité...
Posté le 02-05-2002 à 15:24:37  profilanswer
 

lors de la déconnexion  
session_unregister("id_emp" ); //delete la variable de session
session_destroy() // détruit la session
 
si tu crées en plus toi même un cookie qui stocke l'id de session (c inutile puisque la session crée d'office un cookie), tu peux le détruire en écrasant la valeur de ton cookie par ""
setCookie("session", "", time()-86400);
 
normalement il ne devrait plus avoir aucune trace de ton user précédemment connecté

n°133520
Alex01
Posté le 02-05-2002 à 16:02:35  profilanswer
 

Et bien ça ne fonctionne pas ! :cry:  :cry:  :cry:  :cry:  
 
Le but du jeux :
Certain utilisateurs de l'Intranet possèdent une session qui leur est propre (les utilisateur identifiés).
D'autres, par contre, ne sont que des invités avec des droits minimun sur l'Intranet. Et pour tous les invités il n'y a qu'une seule et unique Session. Ils ont tous un cookie sur leur poste contenant le même identifiant de Session.
 
C'est pour cette réson que je ne peux détruire la session ou son contenu.
 
Par contre si je veux supprimer le cookie c'est pour le cas ou l'utilisateur passe du type invité au type authentifié pour obtenir l'accès à des zones sécurisées de l'Intranet. En supprimant le cookie, lors de la reconnexion à l'Intranet, Le serveur ne reconnait pas l'utilisateur et l'envois sur un formulaire d'incription sur lequel il peut s'authentifier ou choisir l'option d'être un simple invité. Le fait de choisir l'une ou l'autre des option crait un cookie qui permet au système, lors de la reconnexion, de passer le formulaire et d'arriver directement à l'Intranet.
 
Voilà !!! :p  
 
Donc il me faut :
soit invalidé le cookie
soit en supprimer son contenu de manière à ce que lors du control le serveur ne trouve pas l'Id session et renvoie vers le formulaire.
 
setCookie("session", "", time()-86400);  
Avec "session" = "session",
ou "session" = "nom de la session" (eefgff54696ejhddjr56.....)
ou "session" = "nom du cookie" ('cookie_sicaweb' défini dans le php.ini)
NE FONCTIONNE PAS !!!!!!!!
 
 :cry:  :cry:  :cry:  :cry:  :cry:  
je ne comprend pas !

n°133537
Alex01
Posté le 02-05-2002 à 16:36:08  profilanswer
 

Je quitte mon bureau jusqu'à demain matin, si quelqu'un peut m'aider entre temps ça serait super !!
 
Merci à tous ceux qui ont participés à ce sujet et qui ont essayer de m'aider  :jap:  :jap:  :jap:  
 
J'espère que le nuit me portera conseil
 
A demain
 
Alex01

n°133542
veryfree
Posté le 02-05-2002 à 16:38:49  profilanswer
 

Alex01 a écrit a écrit :

Merci pour les réponses mais :
 
ça ne fonctionne pas !!!! :heink:  :heink:  
 
Voici les lignes de code que j'ai testé :
<?php
session_start();
Setcookie("Cookie_Sicaweb","id_emp",time()-86400);
 
print ("<p><font size=\"4\" face=\"Arial, Helvetica, sans-serif\" color=\"#0000FF\">" );
print ("Vous venez d'être désinscrit(e).............?>
 
j'ai aussi essayé :
Setcookie("Cookie_Sicaweb" );
Setcookie("Cookie_Sicaweb","id_emp",time());
Setcookie("Cookie_Sicaweb",time());
 
"id_emp" est une variable transmise au cookie.
 
Rien à faire, mon fichier nom_du_serveur.txt est toujours présent dans le rep. Cookie de Windows.
 
Que puis-je faire ?
 
Merci  
 
Alex01  




 
si c'est du php,"id_emp" ne devrait t il pas plutot s ecrire ainsi "$id_emp" ?

n°133861
Alex01
Posté le 03-05-2002 à 08:29:26  profilanswer
 

Non non, il ne faut pas mettre le $ devant le nom de variable (dans ce cas là biensûr !)
 
mais merci quand même  :jap:  
 
Alex01


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

  [PHP] Effacer un cookie ?

 

Sujets relatifs
[PHP]Ordre des instructions?[PHP] Je Bloque : sauver une image créée :sweat: HELP !!!
[PHP] Activer l'option FTP?PHP : images truecolor et transparence
[ > Débat inside < ] Php vs. ASP[PHP] Faire un VRAIE recherche par mots clé
[PHP] Temps d'execution Requete SQL[PHP]
serveur Apache qui donne les fichiers PHP en téléchargement !! HELP !![PHP/Cookies] Comment effacer un cookie?(pour ne plus etre loggé)
Plus de sujets relatifs à : [PHP] Effacer un cookie ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR