Problème de cookies/multilingue (non résolu)
Résolu
kikizor
-
kikizor -
kikizor -
Bonjour,
Je cherche à faire un site multilingue en PHP avec une base de données.
Le principe est :
- la langue par défaut est l'anglais mais je préférerai entrer un script qui permet de reconnaitre la langue du visiteur. J'ai fait des recherches et je ne crois pas que ces sites soient d'actualités, avez vous une méthode ?
- le visiteur choisit sa langue en cliquant sur un drapeau. le drapeau renvoie un lien avec une variable GET (par exemple http://bidule.php?langue=fr); cette donnée doit être transmise à un script qui mettrait cette variable en cookie, seulement je ne sais pas si c'est la bonne solution : peut être faut-il utiliser les sessions ? Mais je voudrais que la langue soit gardée en mémoire pour la prochaine visite
- ensuite, selon la langue choisie la base de donnée envoie la page dans la bonne langue
Un autre problème est que lorsque le visiteur choisit une langue en cliquant, la modification du cookie ne prend place qu'après actualisation de la page.
Voici le code pour les drapeaux :
Et celui pour les cookies :
Merci de votre aide !
Je cherche à faire un site multilingue en PHP avec une base de données.
Le principe est :
- la langue par défaut est l'anglais mais je préférerai entrer un script qui permet de reconnaitre la langue du visiteur. J'ai fait des recherches et je ne crois pas que ces sites soient d'actualités, avez vous une méthode ?
- le visiteur choisit sa langue en cliquant sur un drapeau. le drapeau renvoie un lien avec une variable GET (par exemple http://bidule.php?langue=fr); cette donnée doit être transmise à un script qui mettrait cette variable en cookie, seulement je ne sais pas si c'est la bonne solution : peut être faut-il utiliser les sessions ? Mais je voudrais que la langue soit gardée en mémoire pour la prochaine visite
- ensuite, selon la langue choisie la base de donnée envoie la page dans la bonne langue
Un autre problème est que lorsque le visiteur choisit une langue en cliquant, la modification du cookie ne prend place qu'après actualisation de la page.
Voici le code pour les drapeaux :
<div id="drapeaux"> <a href="introduction.php?langue=es"><img src="images/espagnol.jpg"/><br/></a> <a href="introduction.php"><img src="images/english.jpg"/><br/></a> <a href="introduction.php?langue=fr"><img src="images/francais.jpg"/></a> </div>
Et celui pour les cookies :
if(isset($_GET['langue']) AND $_GET['langue'] == "fr") { setcookie('langue', 'fr', time() + 10 * 365 * 24 * 3600, null, null, false, true); } elseif(isset($_GET['langue']) AND $_GET['langue'] == "es") { setcookie('langue', 'es', time() + 10 * 365 * 24 * 3600, null, null, false, true); } elseif(!isset($_COOKIE['langue'])) { setcookie('langue', 'en', time() + 10 * 365 * 24 *3600, null, null, false, true); }
Merci de votre aide !
A voir également:
- Problème de cookies/multilingue (non résolu)
- Supprimer les cookies - Guide
- Clavier multilingue canadien windows 11 - Forum Windows
- La cause de ce problème peut être la désactivation ou le refus des cookies ✓ - Forum Mozilla Firefox
- Le clavier Français (Canada) n'existe plus! ✓ - Forum Windows
- La cause de ce problème peut être la désactivation ou le refus des cookies. ✓ - Forum PHP
2 réponses
la langue par défaut est l'anglais mais je préférerai entrer un script qui permet de reconnaitre la langue du visiteur.
La variable $_SERVER['HTTP_ACCEPT_LANGUAGE'] contient plusieurs informations, dont la langue du navigateur du visiteur
PROBLEME RESOLU ICI :
https://openclassrooms.com/forum/sujet/probleme-de-cookiesphpsite-multilingue-14753
A+
https://openclassrooms.com/forum/sujet/probleme-de-cookiesphpsite-multilingue-14753
A+