J'essaie de faire mon site avec quelques langues. Chaque page comprend un fichier de configuration, qui vérifie la variable 'lang' en session. Si ce n'est pas le cas, vous serez redirigé vers la page de choix de la langue. Après avoir choisi de venir à la page avant. Mais cela ne fonctionne que dans Mozilla Firefox. Dans un autre navigateur après la vérification de la langue, je reçois toujours cette page (vérification des langues). Qu'est-ce que j'ai fait de mal? Config fichier:PHP + rediriger avec des sessions
// Here is session start...
if (!isset($_SESSION['site_lang']))
{
$_SESSION['page_refer'] = "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
echo '<meta http-equiv="Refresh" content="0; URL=lang_choose.php">';
exit;
}
else
{
require_once 'languages/'.$lang.'.php';
}
?>
lang_choose.php:
// Session start
@extract($_POST);
if (isset($_POST['lang']))
{
$lang = $_POST['lang']; $lang = replace($lang);
$_SESSION['site_lang'] = $lang;
echo '<meta http-equiv="Refresh" content="0; URL='.$_SESSION['page_refer'].'">';
}
else
{
// Showing form with flags... which returns var 'lang'
}
EDIT: S'il y a
< input type="image" src="img/langs/en.png" width="290" height="200" border="1" name="lang" value="en" />
sous forme, il ne fonctionne pas dans un autre navigateurs (sauf mozilla) mais si j'utilise:
< input type="submit" name="lang" value="en" />
Tout est bon. Des idées?
Merci.
Je ne suppose pas que cela a à voir avec les cookies étant activé/désactivé? Désolé, je ne connais pas vraiment le PHP, mais ça m'a déjà mordu. –
et ne pas oublier, que j'ai testé dans 1 ordinateur avec un autre navigateur. Seul Firefox fonctionne normalement. (dans tous les navigateurs, les cookies sont activés) – Ockonal
Modifiez l'attribut de contenu pour qu'il attende 10 secondes au lieu de 0, puis effectuez une source de vue sur la page pour vous assurer que l'URL de la partie "URL = ..." est correcte. –