Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 29/01/2011, 08h23   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 2
Points : 1
Points : 1
Par défaut Sujet : Gestion de cookie php et rewriting dossier virtuel

Bonjour la communauté

J'essaye de mettre en place un petit cookie pour faciliter la navigation sur mon site. Jusque là rien de très dur, je l'avais déjà fait sur d'autres. Mais c'est la première fois que j'utilise l'url rewriting du type dossier virtuel et, du fait, la config du cookie ne marche que dans un dossier virtuel précis, là où le cookie a été préalablement créé, explications :

setcookie('nom_cookie','valeur',(time() + 3600),'/','.domaine.com');

Là tout fonctionne bien dans une configuration classique mais avec du URL Rewrite (htaccess) de cette forme :

RewriteEngine on
RewriteRule ^page/xxx/$ /index.php [L]
RewriteRule ^contact/$ /contact.php [L]

et que je déclare mon cookie dans la page PHP présente à l'url www.domaine.com/page/xxx/ celui-ci est bien créé et rempli, mais il apparait vide dans la page www.domaine.com/contact/

J'ai pourtant bien spécifier de prendre la racine du domaine avec dans le setcookies '/' et '.domaine.com'.

Pourriez-vous m'éclairer ?

Merci
JohnAm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 08h46   #2
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 706
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 706
Points : 3 274
Points : 3 274
Salut

Regarde dans ton navigateur au niveau des cookies une fois le cookie créé.
Quelles sont les infos pour ce cookie (le Path et le Domaine en particulier) ?
Il y a rien de particulier ?

Code :
1
2
 
setcookie('nom_cookie','valeur',(time() + 3600),'/','.domaine.com');
Fais un essai sans le point avant le domaine (juste domaine.com), juste pour voir.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 09h10   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 2
Points : 1
Points : 1
Résolu seul, quel boulet je fais...

J'avais mon code dans la mauvaise include, celle qui n'est pas appelée sur toutes les pages.

Merci
JohnAm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 09h57   #4
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 706
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 706
Points : 3 274
Points : 3 274
Plutôt étrange effectivement, car tout parait correcte.
Je suppose que la date d'expiration était encore valide à ce moment.

Sinon, applique un print_r avec apache_request_headers() (ça renvoi en tableau) sur une page qui est censée obtenir le cookie.
Normalement le cookie doit être renvoyée par le navigateur, il doit être visible dans l'entête.

Citation:
mais il apparait vide dans la page www.domaine.com/contact/
Puis comment procède tu pour récupérer le cookie, car si on se tient à ce que tu dis, il existerait, mais serait vide.
Faudrait vraiment faire la différence entre la non existence du cookie, et son existence mais vide.
En gros, s'il existe mais sa valeur vide, c'est qu'il y aurait un code en amont qui écraserait sa valeur (théoriquement).
Post du code au besoin.

Fait un var_dump($_COOKIE) tout court et au plus tôt dans ton code pour éviter tout problème (dans une page en question) pour voir ce que ce tableau contient.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2011, 10h00   #5
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 706
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 706
Points : 3 274
Points : 3 274
Citation:
Résolu seul
Oups ... j'avais pas vu.

Tout beigne alors.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp 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 05h07.


 
 
 
 
Partenaires

Hébergement Web