Changer la valeur d'un cookie

Changer la valeur d'un cookie - PHP - Programmation

Marsh Posté le 26-11-2007 à 15:26:20    

Bonsoir à tous,
 
J'expérimente un peu les cookies en PHP... J'ai vu que pour les créer, il faut appeller la fonction "setcookie" avant d'envoyer n'importe quel "echo"... C'est un peu comme pour les sessions... Mais pour changer la valeur du cookie ? Dans les sessions, on fait $_SESSION[machin]="valeur" mais pour les cookies, $_COOKIE[machin]="valeur" ne marche pas... $_COOKIE se lirait mais ne s'écrirait pas... Pour modifier, il faudrait réutiliser "setcookie"... et donc avant n'importe quel "echo"...
 
Je me trompe ?
 
Il n'est donc pas possible de modifier la valeur d'un cookie après avoir envoyé un echo ?
 
Merci de votre aide ;)


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 26-11-2007 à 15:26:20   

Reply

Marsh Posté le 26-11-2007 à 15:28:26    

tu peux définir un cookie n'importe quand, mais il ne sera "visible" qu'une fois la page rechargée ;)
 
jete un oeil du coté de la doc : http://fr3.php.net/manual/fr/function.setcookie.php


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 26-11-2007 à 16:01:35    

Ben justement, j'ai lu cette page, et on y dit que "les cookies doivent être envoyés avant tout autre sortie"...
 
Dans le doute, j'ai testé :
 
Avant <html>, je mets setcookie("login","bidon" ), ça marche...
Plus loin, je mets setcookie("login",$login) :
 
Warning: Cannot modify header information - headers already sent by (output started at /home/apache/pointage/connexion.php:33) in /home/apache/test.php on line 53
 
Une fois la page rechargée, la nouvelle valeur du cookie n'est donc pas visible...


Message édité par zezette le 26-11-2007 à 16:03:48

---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Marsh Posté le 26-11-2007 à 16:02:06    

arf
dsl pour la mésinformation :jap:


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 26-11-2007 à 16:13:17    

Si tu veux modifier une valeur du cookie, tu dois :
1) faire un setcookie avant tout envoie de texte au navigateur (echo & co)
2) modifier la valeur dans le $_COOKIE si tu veux prendre en compte immédiatement ce changement de valeur (ça n'est pas fait automatiquement)

Reply

Marsh Posté le 27-11-2007 à 09:27:49    

Ca change bien la valeur de la variable $_COOKIE["login"], mais quand je change de page, ça reviens à la valeur initiale...
 

Code :
  1. setcookie("login","bidon" );
  2. echo $_COOKIE["login"];       //Affiche bidon
  3. $_COOKIE["login"]="Marcel";
  4. echo $_COOKIE["login"];       //Affiche Marcel


 
Je clique sur un lien vers une autre page du site où

Code :
  1. echo $_COOKIE["login"];       //Affiche bidon


 
Donc mon problème n'est pas résolu...


---------------
"Par moment j'me d'mande si chui pas con" G. de Suresnes
Reply

Sujets relatifs:

Leave a Replay

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