16 votes

Le fait de définir le chemin d'accès au cookie sur "/" ne rend pas le cookie accessible à l'ensemble du site.

Pourquoi lorsque l'on fixe le chemin du cookie php à "/", cela ne fonctionne pas pour tous les sous-répertoires du domaine, mais seulement pour le répertoire courant.

est défini comme suit :

setcookie("name", "val", expire_time, "/");

Il ne veut tout simplement pas fonctionner.

29voto

jlb Points 4079

Essayez d'inclure le paramètre du domaine :

setcookie("name", "val", expire_time, "/", ".domain.com");
// don't forget the prefixing period: .domain.com

qui activera tous les sous-domaines de "domain.com"

24voto

troelskn Points 51966

Testez-vous sur localhost ? Dans ce cas, vous devez passer null comme valeur de $domain .

8voto

Atli Points 4288

Définir le chemin d'accès du cookie à / devrait le mettre à la disposition de l'ensemble du domaine. Si vous définissez votre cookie de cette manière et qu'il n'est pas envoyé, c'est qu'il y a un autre problème.

Essayez d'utiliser l'extension Web Developer dans Firefox. Il vous donne des détails sur les cookies disponibles. Cela vous aidera peut-être à diagnostiquer le problème.

3voto

Phil LaNasa Points 510

En retard sur la fête, je sais. Mais je viens de découvrir que mon problème était assez stupide, mais je vais le poster pour le compléter :

J'ai négligé d'ajouter time() au délai d'expiration du cookie, ce qui fait qu'il expirait immédiatement.

Le délai d'expiration doit être égal à time() + seconds

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X