[PHP -> Cookies/Supression]

[PHP -> Cookies/Supression] - PHP - Programmation

Marsh Posté le 21-09-2003 à 17:09:01    

Voilà. Sur le site que je suis actuellement en train de faire on peut changer la couleur. Lorsqu'une couleur à été choisi il faut la sauvegarder. J'ai donc opté pour les cookies.
La mise en place du cookies se fait sans pépin. Mais lorsque l'on veut changer encore de couleur, le cookies ne s'enregistre pas.
Pourtant j'ai utilisé les techniques conseillé:

Citation :

En théorie, il suffit de passer à la fonction SetCookie(), le nom du cookie à détruire (et uniquement le nom). En pratique, il est vivement recommandé de procéder autrement en indiquant une date d'expiration périmée. Exemple,
 
setcookie("MonCookie", "", time()-48*3600, "/" );


cf: http://www.phpindex.com/faq/faq_ch [...] hapitre=15
Chez moi ca ne marche pas.
Voilà mon code:

Code :
  1. <?
  2.   setcookie("MonCookie", "", time()-48*3600, "/" );
  3.   setcookie ("MonCookie", "$MonCookie", time()+3600*24*365*100,"/" );


 [:at war with emo]

Reply

Marsh Posté le 21-09-2003 à 17:09:01   

Reply

Marsh Posté le 21-09-2003 à 17:26:31    

setCookie("moncookie" );


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 21-09-2003 à 17:32:24    

J'ai d'abord fait:
setcookie("MonCookie", "", time()-48*3600, "/" );
Vu que ca ne marchai t pas j'ai fait:
setCookie("moncookie" );  
J'ai donc suivit les conseil donné sur le site précédement cité.
Mais le résultat est le même. La couleur du site ne change pas...

Reply

Marsh Posté le 21-09-2003 à 17:38:24    

Il fut recharger la page après la destruction du cookie.


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 21-09-2003 à 17:42:43    

Il ne faut donc pas que je mette les deux setcookie à la suite alors?

Reply

Marsh Posté le 21-09-2003 à 17:43:59    

Spir a écrit :

Il ne faut donc pas que je mette les deux setcookie à la suite alors?


 
Ca me parait effectivement assez hasardeux?


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 21-09-2003 à 18:00:20    

ca merde toujours, je sais pas y a un truc qui cloche.
mon code(lorsqu'on choisi une couleur on arrive sur ca):

Code :
  1. <?
  2.   setcookie("lacouleur" );
  3.   header("Location: sauvecooki.php?lacouleur=$lacouleur" );
  4. ?>
  5. //sauvecooki.php:
  6.   setcookie("lacouleur", "$lacouleur", time()+3600*24*365*100,"/" );
  7.   header("Location: index.php?lacouleur=$lacouleur" );

Reply

Marsh Posté le 21-09-2003 à 18:05:55    

Spir a écrit :

ca merde toujours, je sais pas y a un truc qui cloche.
mon code(lorsqu'on choisi une couleur on arrive sur ca):

Code :
  1. <?
  2.   setcookie("lacouleur" );
  3.   header("Location: sauvecooki.php?lacouleur=$lacouleur" );
  4. ?>
  5. //sauvecooki.php:
  6.   setcookie("lacouleur", "$lacouleur", time()+3600*24*365*100,"/" );
  7.   header("Location: index.php?lacouleur=$lacouleur" );




 
setcookie("lacouleur", $lacouleur, time()+25920000);
 
(3 mois c'est assez pour un cookie, non ? pas besoin de le faire pour 100 ans)


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 21-09-2003 à 18:06:00    

Reply

Marsh Posté le 21-09-2003 à 18:10:17    

Si tu n'as pas vu, j'ai aussi viré les guillemets qu'il ne fallait pas mettre autour de la variable, et le chemin qui pose en général problème.


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 21-09-2003 à 18:10:17   

Reply

Marsh Posté le 21-09-2003 à 18:20:10    

Ah et il faut bien entendu recharger la page après avoir créé le cookie pour voir le résultat, comme quand on le détruit, ou qu'on le modifie en quoi que ce soit.


---------------
Faux & usage de faux ¤ Machins roses ¤ ASCIImage ¤ HFR Enhance v0.8.6
Reply

Marsh Posté le 21-09-2003 à 18:25:51    

Alalala, ca y est j'ai compris ou était mon erreur.
Bien sûre il y avait ce que tu me disais.
Mais il y avait aussi le fait que je passait en paramètre la valeur de la couleur dans le header, alors que c'est précisement cette valeur qui était stocké dans le cookie.
Il a donc fallu changé le nom de la variable:

Code :
  1. <?
  2. setcookie("lacouleur" );
  3. header("Location: sauvecooki.php?lanouvelcouleur=$lacouleur" );
  4. ?>
  5. //sauvecooki.php:  
  6. setcookie("lacouleur", "$lanouvelcouleur", time()+3600*24*365*100,"/" );
  7. $lacouleur= $lanouvelcouleur;
  8. header("Location: index.php?lacouleur=$lacouleur" );

 
Et donc ca sa marche.

Reply

Marsh Posté le 21-09-2003 à 18:27:31    

Hop réctification j'ai oublié de mettre:
header("Location: sauvecooki.php?lanouvelcouleur=$lanouvelcouleur" );  
à la place de ca:
header("Location: sauvecooki.php?lanouvelcouleur=$lacouleur" );  
Voilà.
Merci beaucoup. :jap:  

Reply

Marsh Posté le 21-09-2003 à 21:30:15    

Ce que je fais moi :
 
je fais un setcookie avec la nouvelle valeur.
 
je ne détruit pas l'ancienne valeur (le fait d'en mettre une nouvelle écrase directement l'ancienne)
 
je change desuite la valeur de la variabble corespondante
 
pour éviter des collisions entre les variable de mon programmes et les variables locales, j'utilises les tableaux $_POST, $_GET, $_COOKIE (et autres tableaux du genre, voir la doc sur le site nexen http://www.nexen.net )
 
Comme j'utilises un gestionnaire d'affichage (j'organises les données mais ne les mélange avec les infos d'affichages qu'a la fin), je peux provoquer un changement de l'habillage du site dès que c'est demandé et pas à partir de la page suivante.
Mais si c'est pour un tout petit site, c'est peut être pas la peine de s'embéter avec ce genre de problème, surtout que c'est super long à faire pour que ca soit vraiment pratique a tout point de vue.

Reply

Sujets relatifs:

Leave a Replay

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