Salut à tous!
J’ai réalisé le site web de mon entreprise, tout fonctionne parfaitement sauf… Les cookies.
En effet, il faut savoir que le site est disponible en français et en anglais.
Pour simplifier la procédure de sélection de la langue, j’ai 2 dossiers sur le serveur ftp, un qui est nommé ‘fr’ et l’autre ‘en’ (ces deux dossiers contiennent exactement les même fichiers, il n’y a que la traduction qui a été faire)
Le cookie que je sauvegarde stocke donc au choix soit ‘fr’, soit ‘en’, et c’est cette valeur qui est utilisée pour charger les pages dans la bonne langue.
Sous FireFox, je ne rencontre aucun problème, mais sous IE, tant que le niveau de sécurité n’est pas le plus faible, il n’enregistre pas le cookie, et donc ne prends pas en compte le changement de langue (il reste toujours en français, qui est utilisé par défaut)
Voici l’entête de mon fichier ‘index.php’ qui permet, justement, d’enregistrer le cookie:
<?php
/********** Prise en charge de la langue du site **********/
// Test présence cookie
if(isset($_COOKIE["langage"]))
$lang = $_COOKIE["langage"];
// Test présence variable
if (isset($_GET['lang']))
$lang = $_GET['lang'];
// Pas de paramétrage de langue = paramétrage par défaut
if(!isset($_COOKIE["langage"]) && !isset($_GET['lang']))
$lang = 'fr';
// Svg configuration langue
setcookie("langage",$lang, time() + 10000000,"/");
$domaine = $lang;
?>
Ensuite, pour afficher les pages, j’utilise la variable $domaine, qui sous IE reste désespérément à ‘fr’:
<?php
echo "<body>";
echo "<div id='main'>";
echo "<div class='header'>";
echo "<img src='/files/logo.png' alt='logo'/>";
echo "</div>";
echo "<div class='menutxt'>";
include($domaine.'/resources/top_menu.php'); // Ici, on charge, par exemple, le menu dans la langue désirée...
echo "</div>";
....
Comment fair pour que IE accepte mon cookie???
Merci