Ok, j'ai un ensemble de cookies, et je peux le voir clairement si je vais à des données privées dans Firefox ... ok donc quand je fais écho sur une page dans un certain répertoire cela fonctionne, (www.example.com/dir), mais sur la page d'index du site (www.example.com), il ne répétera pas, il dit que le cookie n'est pas défini. Oui, j'ai les cookies activés, oui j'ai essayé de vider le cache et tout ça. Des idées? PHP btwLes cookies ne fonctionnent pas sur des pages différentes
Répondre
Dans quel répertoire utilisez-vous le cookie?
De l'PHP manual on setcookie(), Souligné par l'auteur:
Chemin
Le chemin sur le serveur dans lequel le cookie sera disponible. S'il est défini sur '/', le cookie sera disponible dans tout le domaine. S'il est défini sur '/ foo /', le cookie ne sera disponible que dans le répertoire/foo/et tous les sous-répertoires tels que/foo/bar/de domaine. La valeur par défaut est le répertoire courant que le cookie est situé dans.
Vous devez vérifier le chemin d'accès au cookie. Si ce n'est pas '/'
, voici votre réponse!
cookies peuvent être liés à un domaine spécifique, sous-domaine, le chemin, et le protocole (http/https). Vous devez spécifier le chemin lors de la configuration du cookie en PHP:
setcookie("TestCookie", "Value", time()+3600 , '/');
Le quatrième paramètre se lie à la racine du site et il sera disponible dans tous les sous-répertoire du site principal.
Si vous le souhaitez sur le domaine principal et tous les sous-domaine, fournissent le cinquième paramètre comme celui-ci:
setcookie("TestCookie", "Value", time()+3600 , '/', '.example.com');
Maintenant, il sera lisible à:
www.example.com
example.com/newdir
awesome.example.com/newdir
Ajout du '/', '.example.com' à la fin résolu ce problème pour moi – Nate
Vous devez définir le chemin $ vers/dans setcookie()
, si vous voulez y accéder dans tous les répertoires
Définissez votre option de chemin; la valeur par défaut est le répertoire en cours dans lequel le cookie est défini. Parce que vous définissez le cookie dans le répertoire/dir, c'est uniquement disponible dans ce répertoire ou en dessous.
Vous contournez cela en définissant explicitement le chemin, à savoir.
setcookie(name,value,expire,path,domain,secure)
Définissez le chemin sur "/".
Je tape WAY trop lent. – Erik
Oui essayez ceci, j'étais aussi confronté à ce problème mais résolu par le code ci-dessous.
setcookie("TestCookie", "Value", time()+3600 , '/');
cookies doivent être réglées avant la page de sortie !!! Étant donné que les cookies sont envoyés par le script au navigateur dans les en-têtes HTTP, avant d'envoyer votre page, ils doivent être définis avant même d'envoyer une seule ligne de HTML ou toute autre sortie de page. Au moment où vous envoyez une sorte de sortie, vous signalez la fin des en-têtes HTTP. Lorsque cela se produit, vous ne pouvez plus définir de cookie. Si vous essayez, la fonction setcookie() retournera FALSE, et le cookie ne sera pas envoyé.
Lisez ceci: http://www.thesitewizard.com/php/set-cookies.shtml –
setcookie('cookie_username', $cookie_username, time() + (86400 * 30), "/"); // 86400 = 1 day, '/' denotes cookie available in entire directory.
et dans une autre page:
$username = $_COOKIE['cookie_username'];
également vous assurer que le navigateur ne bloque pas les cookies.
Si vous voulez utiliser des cookies dans le domaine sous aussi:
setcookie('cookie_username', $cookie_username, time() + (86400 * 30), "/", ".subdomain.com"); // 86400 = 1 day, '/' denotes cookie available in entire directory.
- 1. Les cookies Tomcat ne fonctionnent pas via mon ProxyPass VirtualHost
- 2. Les pages shtml ne fonctionnent pas dans iis7
- 3. Diriger différentes adresses IP vers des pages différentes sur IIS7
- 4. JQuery html sur des pages différentes
- 5. Imprimer FlowDocument bloc sur les différentes pages
- 6. Les validations ne fonctionnent pas
- 7. IE7 ne reconnaît pas une page avec des ancres différentes (hashtags) comme 2 pages différentes (donc l'histoire ne fonctionne pas)
- 8. Les opérateurs ne fonctionnent pas?
- 9. variable sur différentes pages jsp
- 10. @ font-face Générateur, les pages des sous-dossiers ne fonctionnent pas dans Firefox
- 11. MVC sur IIS6 - Les liens 'Home' ne fonctionnent pas correctement
- 12. les cookies de session fonctionnent sur l'émulateur, mais pas sur le vrai périphérique
- 13. Certaines de mes pages jsp ne fonctionnent pas dans Firefox mais ces pages fonctionnent parfaitement dans IE?
- 14. C# - WebRequest ne renvoie pas de pages différentes
- 15. Les gestionnaires http ne fonctionnent pas sur le serveur web mais fonctionnent sur localhost
- 16. Les touches d'accélération C# ne fonctionnent pas
- 17. FB.Event.subscribe + comments.add ne fonctionnent pas?
- 18. Les tests OCUnit ne fonctionnent pas/ne sont pas détectés
- 19. Comment puis-je tester si les cookies de quelqu'un ne fonctionnent pas? (PHP)
- 20. Suppression des cookies Javascript ne fonctionnant pas sur Chrome
- 21. Les sessions Django ne fonctionnent pas
- 22. Les sélecteurs ne fonctionnent pas entièrement
- 23. InternetGetCookie ne récupère pas tous les cookies
- 24. Les contrôleurs de rails ne fonctionnent pas
- 25. les points d'arrêt ne fonctionnent pas
- 26. Les liens d'accordéon jQuery ne fonctionnent pas
- 27. Les animations jQuery ne fonctionnent pas sur l'iPhone
- 28. Les liens sIFR ne fonctionnent pas sur le chrome
- 29. Réglage CATALINA_OPTS pour tomcat6 sur les fenêtres ne fonctionnent pas
- 30. Les plugins Jquery ne fonctionnent pas sur le contenu ajaxed
Vous trouverez peut-être [ '$ Cookie-> setPath ($ path)'] (https://github.com/delight-im/ PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php # L104) utile, tel que trouvé dans [cette bibliothèque autonome] (https://github.com/delight-im/PHP-Cookie). – caw