Cookie, suppression et modification pour le multi langue
Résolu
vleeks
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
BlackYoup Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
BlackYoup Messages postés 181 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un petit problème avec les cookies.
J'éssaie en ce moment de réaliser un site web qui supporte deux langues, l'anglais et le français. Pour ce faire, j'ai réalisé un petit script php censé créer un cookie de langue appelé lang_ylx.
Si l'utilisateur souhaite changer de langues, le cookie est supprimé, puis un nouveau avec le même nom prend l'autre valeur (je n'ai pas réussi à modifier le cookie existant). Cependant, ça ne marche pas non plus...
Lorsque le visiteur arrive pour la première fois, le script est censé créer un cookie prenant la valeur fr pour la langue de base, étant le francais. Cependant, lorsqu'il clique sur le bouton english, le script est censé changer la langue grâce à un passage de paramètre dans l'url appelé lang. Mais rien ne marche et je rammasse plein d'erreurs. Voici mon script :
Le script est ensuite censé ramener à la page visitée, mais pour l'instant j'essaie juste de le ramener à l'index.
Merci beaucoup de votre aide
J'éssaie en ce moment de réaliser un site web qui supporte deux langues, l'anglais et le français. Pour ce faire, j'ai réalisé un petit script php censé créer un cookie de langue appelé lang_ylx.
Si l'utilisateur souhaite changer de langues, le cookie est supprimé, puis un nouveau avec le même nom prend l'autre valeur (je n'ai pas réussi à modifier le cookie existant). Cependant, ça ne marche pas non plus...
Lorsque le visiteur arrive pour la première fois, le script est censé créer un cookie prenant la valeur fr pour la langue de base, étant le francais. Cependant, lorsqu'il clique sur le bouton english, le script est censé changer la langue grâce à un passage de paramètre dans l'url appelé lang. Mais rien ne marche et je rammasse plein d'erreurs. Voici mon script :
$life = time()+30*24*3600 ; if(!isset($_COOKIE['lang_ylx'])) { setcookie('lang_ylx', 'en',$life); } if(isset($_GET['lang'])) { if ($_GET['lang']=='fr') { // si la langue est 'fr' par le bouton de langue, on définit le cookie francais setcookie('lang_ylx', NULL, -1); //On supprimme le précédent cookie setcookie('lang_ylx', 'fr',$life); //Puis on en recrée un header('Location: ../index.php'); } else if ($_GET['lang']=='en') { setcookie('lang_ylx', NULL, -1); //On supprimme le précédent cookie setcookie('lang_ylx', 'en',$life); header('Location: ../index.php'); } } else { }
Le script est ensuite censé ramener à la page visitée, mais pour l'instant j'essaie juste de le ramener à l'index.
Merci beaucoup de votre aide
A voir également:
- Cookie, suppression et modification pour le multi langue
- Forcer suppression fichier - Guide
- Suivi de modification word - Guide
- Logiciel gratuit modification pdf - Guide
- Changer langue windows 10 - Guide
- Telecharger langue arabe - Télécharger - Bureautique
2 réponses
Salut :)
Déjà, tu peux réécrire ton cookie à la volée sans pour autant essayer de le supprimer. Ensuite, quelles erreurs obtiens-tu ?
Déjà, tu peux réécrire ton cookie à la volée sans pour autant essayer de le supprimer. Ensuite, quelles erreurs obtiens-tu ?
Salut,
merci c'est tout bon j'ai trouvé une solution. :)
Pour info, je stocke mon information dans un cookie ainsi que dans une session. C'est la session qui fait fois, mais si y'a un cookie, il donne son info.
On récupère ensuite dans les fichiers de langue.
merci c'est tout bon j'ai trouvé une solution. :)
Pour info, je stocke mon information dans un cookie ainsi que dans une session. C'est la session qui fait fois, mais si y'a un cookie, il donne son info.
On récupère ensuite dans les fichiers de langue.
C'est aussi via les sessions que je fais pour mon site :)
Je peux aussi te suggerer de regarder du coté de $_SERVER['HTTP_ACCEPT_LANGUAGE'] qui pourrait te permettre de mettre directement la langue à "Anglais" si le résultat de la variable diffère de Francais :)
Un petit script pour te présenter le truc :
Je peux aussi te suggerer de regarder du coté de $_SERVER['HTTP_ACCEPT_LANGUAGE'] qui pourrait te permettre de mettre directement la langue à "Anglais" si le résultat de la variable diffère de Francais :)
Un petit script pour te présenter le truc :
if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); else $lang = 'fr'; if($lang == 'fr') $_SESSION['language'] = 'french'; else $_SESSION['language'] = 'english';