私はいくつかの言語で自分のサイトを作ろうとしています。すべてのページにはconfigファイルがあり、セッション中に変数 'lang'をチェックします。存在しなければ、wangは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'
}
EDIT:
< 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" />
すべてが良いです。何か案は?
ありがとうございました。
これは、クッキーを有効/無効にすることとは関係ありません。申し訳ありませんが、私は本当にそれほど多くのPHPを知っていませんが、これは以前私を噛まれています。 –
と、1台のコンピュータで別のブラウザでテストしたことを忘れないでください。 Firefoxのみ正常に動作します。 (すべてのブラウザでCookieが有効になっています) – Ockonal
コンテンツ属性を0ではなく10秒間待機させてから、ページのビューソースを実行して「URL = ...」部分のURLが正しいことを確認します。 –