Cookies et javascript - recup en php.

Cookies et javascript - recup en php. - HTML/CSS - Programmation

Marsh Posté le 15-09-2005 à 11:46:17    

Bonjour, j'ai un p'tit soucis.
Voilà, je suis en train de refaire un site et sur ce site, j'ai un p'tit gadget mignon tout plein, bref, je clique sur un petite flèche et ça cache le menu (enfin, ça le remplace par une version plus petite).
Jusque là, ça fonctionne bien, en repliant ce menu, mon js écrit un p'tit cookies, comme ça, quand l'utilisateur suit un lien, le menu reste caché et il n'est pas obligé de le cacher à chaque page.
Jusque là, tout allait bien.
 
Sauf que voilà, sur ce site, il y a un forum qui reprend ce même menu, ce forum se trouve dans un repertoire www.monsite.net/forum (comme c'est original !). Le petit gadget écrit bien un cookies correspondant (identifié par menucache dans les cookies Firefox, un à la racine du site et un à la racine du forum, sauf que le petit script PHP qui lit le cookies n'a pas l'air de lire le bon, je fais un classique $_cookies['menucache'] mais l'état ne se répercute pas sur les autres pages du forum, par contre, si je vais sur le site et que je repli ou dépli le menu, cela se répercute sur l'affichage du forum  :pt1cable:.
 
Voilà, j'ai essayé de jouer avec les domaines dans l'écriture js, mais ça fonctionne pas et visiblement, on ne peut pas paramétrer les domaines dans la récupération des cookies en PHP, bref, j'suis dans le caca.
 
Merci d'avance à ceux qui liront tout ça, j'ai essayer d'être clair dans un français correct, mais ce n'est pas évident à expliquer.

Reply

Marsh Posté le 15-09-2005 à 11:46:17   

Reply

Marsh Posté le 15-09-2005 à 12:03:33    

faut dire à php d'écrire le cookie à la racine du site, stout.

Reply

Marsh Posté le 15-09-2005 à 12:12:46    

PHP n'écrit pas de cookies, c'est le javascript qui le fait.
Et visiblement, je n'arrive pas à jouer avec la commande path du javascript, j'ai essayer plein de solution.

Reply

Marsh Posté le 15-09-2005 à 12:18:57    

http://www.nexen.net/docs/php/anno [...] ien=cookie
 
et fais donc une recherche sur $_COOKIE sur le forum.
 
A mon avis, tu conais mal php. :lol:

Reply

Marsh Posté le 15-09-2005 à 12:25:13    

Euh...
Je vais essayer de la refaire en virant le français.
Moi avoir Cookies appelé menucache écrit par le JAVASCRIPT, pas en PHP.
Moi vouloir récupérer Cookies au prochain appel de page par PHP.
ça être simple.
Sauf que quand moi vouloir écrire cookies à partir d'un JAVASCRIPT contenu dans le répertoire "forum", la fonction PHP qui récupère le cookies récupère celui qui a été écrit à la racine du site.

Reply

Marsh Posté le 15-09-2005 à 13:58:48    

Pas d'autres idée  :'(

Reply

Marsh Posté le 15-09-2005 à 14:00:09    

A par dire à php quel cookie (racine ou tel dossier) il doit utiliser non.
 
PS : Bon, ok,tu fais pas d'écriture de cookie, mais lecture ou écriture, c'est pareil.


Message édité par omega2 le 15-09-2005 à 14:00:28
Reply

Marsh Posté le 15-09-2005 à 14:10:59    

Non, c'est pas pareil, parce que l'écriture permet de choisir où mettre le cookies et à quel répertoire le rendre accessible mais la lecture ne le permet pas.
Fait chier, j'avais bien avancé sur le site et je butte sur cette connerie à 2 balles. :/

Reply

Marsh Posté le 15-09-2005 à 14:12:31    

Alors va faloir dire à javascript où écrire ... si c'est possible.
Mais je suis surpris qu'on puisse pas dire à php où lire les cookies vu que certain semble y être arrivé.

Reply

Marsh Posté le 15-09-2005 à 14:22:45    

omega2 a écrit :

Alors va faloir dire à javascript où écrire ... si c'est possible.


Vi, j'ai essayé, mais le pire, c'est que quand je regarde ma liste de cookies dans Firefox, le js les a bien écris là où il fallait. C'est PHP qui ne récupère pas les bons.
 

omega2 a écrit :

Mais je suis surpris qu'on puisse pas dire à php où lire les cookies vu que certain semble y être arrivé.


bah, j'ai pas la science infuse, mais justement : http://www.nexen.net/docs/php/anno [...] ookies.php
 
Y'a pas de paramètre à la récupération où alors j'ai loupé quelquechose, je récupère bêtement mon cookies par un tout bête :
if (isset($_COOKIE['menucache'])) {$menuaff=$_COOKIE['menucache'];} else {$menuaff=1;}
 
 

Reply

Marsh Posté le 15-09-2005 à 14:22:45   

Reply

Marsh Posté le 16-09-2005 à 11:50:05    

Bon en fait, la solution c'était tout simplement d'écrire le cookies comme ça :
document.cookie = 'menucache=0; expires='+ expires.toGMTString() + '; path=/';
 
Moi je m'obstinais à l'écrire comme ça :
document.cookie = 'menucache=0; expires='+ expires.toGMTString() + '; path="/"';
 
Bon bah ça fonctionne désormais et encore mieux que ce que je voulais. :D

Reply

Marsh Posté le 16-09-2005 à 12:24:36    

depuis le debut je suis en train de me dire :  
1 cookie enregistré en JS estce le meme qui sera lu en PHP ?

Reply

Marsh Posté le 16-09-2005 à 12:45:43    

En fait oui, j'ai compris le problème.
 
Quand on écrit un cookies en javascript, ça fonctionne bien.
Par contre, chose étrange, quand on est dans le répertoire "forum", par exemple, si on écrit un cookies en javascript, on aura donc 2 cookies pour le site, un cookies pour la racine du site et un cookies pour le dossier en cours.
Par contre, le PHP lui ira toujours chercher le cookies qui a été écrit à la racine du site même si il en a un du même nom dans le répertoire d'exécution du script.
En tout cas, ça fonctionne comme ça chez moi et sur mon dédié. Après, c'est peut-être configurable dans le php.ini.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed