Я пытаюсь сделать свой сайт на нескольких языках. Каждая страница содержит конфигурационный файл, который проверяет переменную «lang» в сеансе. Если он не существует, он будет перенаправлен на страницу выбора языка. Выбрав u'll, приходите на страницу раньше. Но он работает только в Mozilla Firefox. В другом браузере после проверки языка я всегда получаю эту страницу (проверка lang). Что я сделал не так? Config-файл:PHP + перенаправление с сеансами
// 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: Если
< input type="image" src="img/langs/en.png" width="290" height="200" border="1" name="lang" value="en" />
в форме он не работает в другой браузеры (кроме мозиллы) , но если я использую:
< input type="submit" name="lang" value="en" />
Все хорошо. Есть идеи?
Спасибо.
Я полагаю, что это не связано с включением/отключением куки-файлов? Извините, я действительно не знаю, что много PHP, но это уже укусило меня. –
и не забывайте, что я тестировал на одном компьютере с другими браузерами. Только Firefox работает нормально. (во всех браузерах разрешены файлы cookie) – Ockonal
Изменить атрибут контента, чтобы подождать 10 секунд вместо 0, затем создать источник просмотра на странице, чтобы убедиться, что URL-адрес в URL-адресе верен. –