2011-02-23 3 views
0

Salut quelqu'un peut-il me l'expliquer:problème PHP Cookies ... cookies de travail sur une page, mais ne fonctionne pas sur un autre

Sur une page J'ai:

setcookie(cookiename,$cookiedata,time()+(84600*30*24)); 
setcookie(cookiename2,$cookie2data, time()+(84600*30*24)); 

Si sur la même page i dire:

echo $_COOKIE['cookiename']; 

il fonctionne très bien ....

mais si je vais à une page qui est en quelques clics avant, et dire:

echo $_COOKIE['cookiename']; 

rien n'apparaît. Pourquoi cela arrive-t-il? le cookie est-il supprimé d'une manière ou d'une autre?

oh et si vous essayez sur la page entre les deux, le même problème se produit .... Je suis déconcerté,

Merci à l'avance, Niall

+0

Utilisez quelque chose comme HTTPFox et/ou Firebug pour afficher les communications serveur du client <->. Vous seriez en mesure d'afficher les en-têtes de cookie aller et venir, et voir exactement où/quand ils disparaissent sur vous. –

Répondre

2

sont les différentes pages du même domaine? Vous devriez également définir un chemin, j'ai trouvé des cas où le chemin n'était pas défini sur '/' alors il ne serait pas accessible par défaut 'partout' sur le site même si cela aurait du sens par défaut.

Essayez de définir le chemin du cookie.

+1

En fait, php :: setcookie() indique que le 'path' par défaut est le répertoire courant dans lequel le cookie est défini, c'est le problème. Définir le chemin à '/' –

+0

Ok, ça sonne bien oui. Je n'ai pas mis le chemin et ils sont dans des endroits différents, merci :) – Niall

Questions connexes