Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/04/2008, 15h18   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 41
Points : 2
Points : 2
Par défaut [Cookies] Lire un cookie créé par un autre script

J'ai un site monsite.com.

J'ai une page nav.php qui crée un cookie www.monsite.com contenant une chaîne de caractères, le lit, le modifie, etc. Ça marche très bien.

J'essaie de lire ce cookie avec une autre page index.php du même site. Pas de réponse.

j'ai fait les tests suivants:
-quand je fait ma lecture avec index.php, j'ai isset($_COOKIE["toto"]) false
-si j'essaie de créer un cookie avec cette seconde page index.php, je trouve un cookie contenant deux chaines de caractères (ou deux cookies, peu importe).

Apparemment le PHP classe la production de chaque page indépendamment. Alors comment forcer la lecture d'une autre page?

Merci de me renseigner
Richard Trigaux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 15h43   #2
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Salut,

J'ai l'impression que cela rejoint le problème rencontré par un autre membre aujourd'hui.

Ton problème m'a peut-être fourni une solution.
En regardant les paramètres possibles dans la documentation, j'ai remarqué le 4eme path
setcookie()

Ce paramètre défini pour quels répertoire du domaine le cookie sera disponible. Si on lui précise pas, il prend la valeur par défaut qui est : le répertoire du script.

Donc si nav.php ets situé plus bas que index.php, index.php ne verra pas le cookie créé par nav.php

A tester
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2008, 19h12   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 41
Points : 2
Points : 2
Merci beaucoup, FCYPBA, l'utilisation du quatrième paramètre "path" résoud parfaitement mon problème, et cela est clairement expliqué dans la doc que tu m'as donnée. En fait j'utilisais une doc plus générale sur les cookies, très utile mais simplifiée.

-si "path" n'est pas spécifié, chaque répertoire a son propre cookie (ou plus exactement sa chaîne dans un cookie apparemment unique).
-Si "path" waut "/", alors le cookies est visible par tous les scripts du site. C'est ce que j'ai fait.
-Si "path" vaut "chemin" alors on spécifie un répertoire.
-Par contre je n'ai pas essayé de mettre plusieurs scripts dans le même répertoire. Logiquement ils devraient alors partager le même cookie. Si ce n'est pas ce qu'on veut, il faut alors les mettre dans des répertoires différents.


Voilà un problème élégament résolu. En fait la fonction setcookie() a de nombreux paramètres qui permettent une grande liberté de manoeuvre.
Richard Trigaux est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h39.


 
 
 
 
Partenaires

Hébergement Web