perdu dans les cookies - PHP - Programmation
Marsh Posté le 30-10-2004 à 10:30:11
bien complexe pour ecrire un cookie ta procédure
Code :
|
Marsh Posté le 30-10-2004 à 12:38:47
super merci !!!
mais j'ai encore un ptit pb, voila le cookie de cree bien, mais dans mon echo $_COOKIE['lang'] il affiche la langue precedente cad a dire que si j'ai selectionné english puis je veux selectionner le francais il va falloir que je clique 2 fois de suite sur francais sinon au premier au premiere 'clique' il reste sur english (pourtant mon cookie suit)... etrange,nan?
Code :
|
merci de votre aide
Marsh Posté le 30-10-2004 à 12:49:32
Le cookie est envoyé dans les header donc c'est normal que tu ne puisse pas le récupérer au premier passage tu ne pe pas l'envoyer et faire en sorte que le client te l'envoi en meme temps ...
Donc il fo qu'au moment de la depose tu initialise la variable $_cookie['lang'] toi meme, mais tu n'as besoin de le faire que a la depose apres le client t'enverra la variable lui meme ...
Voila j'espere t'avoir aidé
Marsh Posté le 30-10-2004 à 13:22:38
en faite, j'ai pas tres bien compris
j'ai fait comme ca
Code :
|
mais ca change rien!!
merci de votre aide
Marsh Posté le 30-10-2004 à 13:35:05
Code :
|
Marsh Posté le 30-10-2004 à 13:53:48
cool merci !
juste une derniere question comment faire pour que si $_GET['lang']n'est pas declarée (si l'utilisateur arrive par une autre page que la page1.php, la seul avec du get['lang'])alors on essaye de reconnaitre la langue du navigateur et si la langue n'est ni du francais ni de l'anglais alors $lang=fr
merci encore
Marsh Posté le 30-10-2004 à 14:47:31
C'est ptet une proposition débile, mais...
Code :
|
ca marche pas?
Marsh Posté le 30-10-2004 à 15:18:20
attentio a écrit : en faite, j'ai pas tres bien compris
|
faut que tu fasse une redirection vers la page utilisant le cookie : ajoute header('location : tonfichier.php'); apres le setcookie
ton echo 'cookie...' tu le mets en dehors.
que j'explique
Quand tu recupere la valeur de $lang la premiere fois par l'url, c'est via $_GET,tu ecris en meme temps la variable dans le cookie via setcookie
donc tu ne peux accéder directement à la variable du cookie via $_COOKIE sans réactualiser la page...sauf si tu utilise la ligne supplémentaire de rainbow_efreet par laquelle tu affecte à $_COOKIE la valeur de lang directement, ce qui si je ne me trompe pas evite la redirection, mais d'un autre coté $_COOKIE est normalement utilisé pour lire le contenu d'un cookie, pas pour ecrire dedans, c'est donc comme si tu ecrivais dans un simple tableau
Marsh Posté le 30-10-2004 à 15:55:43
Je confirme la reponse de spike une redirection header suivi d'un exit() sera bcp plus propre que la ligne que j'ai rajouté
cela permettra aussi de VRAIMENT voir si le cookie a été déposé car avec la ligne supplémentaire on verra toujours la valeur que l'on a voulu deposé mais pas la valeur réel du cookie
Marsh Posté le 30-10-2004 à 03:06:08
bonjour, je suis en train de faire un site multilingue, mais je ne comprends pas bien.j'ai choisi la methode des cookies.chaque page appelle un fichier decide.php qui lui meme appelle des glossaires en.php et fr.php
petites precisions
en fait j'ai un page index qui permet de choisir ma langue francais/english
et on arrive en GET sur page1.php
soit page1.php?lang=en soit page1.php?lang=fr
donc il faudrait que cette variable GET se transforme en cookie pour que je puisse apres la recupere dans toutes les autres pages (qui elles n'ont pas de get).
merci de votre aide
Message édité par attentio le 24-03-2005 à 21:01:53
---------------
L'ordinateur a de la mémoire mais aucun souvenir ...