我正在嘗試使用幾種語言創建我的網站。每個頁面都包含配置文件,在會話中檢查變量'lang'。如果它不存在,將被重定向到朗選擇的頁面。選擇之後你會來到之前的頁面。但它只適用於Mozilla Firefox。在其他瀏覽器語言檢查後,我總是得到這個頁面(lang檢查)。我做錯了什麼? 配置文件: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'
}
編輯: 如果
< input type="image" src="img/langs/en.png" width="290" height="200" border="1" name="lang" value="en" />
在形式上它不能在另一個工作瀏覽器(mozilla除外) 但如果我使用:
< input type="submit" name="lang" value="en" />
一切都很好。有任何想法嗎?
謝謝。
我不認爲這與cookie被啓用/禁用有關嗎?對不起,我真的不知道那麼多的PHP,但是之前這讓我感到困惑。 – 2009-07-01 19:39:03
不要忘記,我測試1臺電腦與另一臺瀏覽器。只有Firefox正常工作。 (在所有瀏覽器中啓用cookies) – Ockonal 2009-07-01 19:40:34