0

PHPセッションを使用して、参照元のWebサイトからクエリ文字列を介して1回渡される状態を保存しようとしています。問題はローカルにあり、セッション スコープでこの状態を維持できますが、運用サーバーでは同じように動作しません。

ファイルの下部にある wp-config.php の Wordpress でこれを実行しようとしています。

session_set_cookie_params(0);
session_start();

ブラウザで有効期限が切れるセッションを開始します。次に、クエリ文字列パラメーターの確認と設定を行います。

if (!isset($_SESSION['isEUStore']) && isset($_GET['store']) && strtolower($_GET['store'])=='eu') $_SESSION['isEUStore']=true;
elseif (!isset($_SESSION['isUSStore']) && isset($_GET['store']) && strtolower($_GET['store'])=='us') $_SESSION['isUSStore']=true;

ただし、$_SESSION['isEUStore'] または $_SESSION['isUSStore'] は、サイト内の他の Wordpress ページでは NULL を返します。

何かアドバイス?おそらく異なる構成設定がありますか?

ありがとう、

4

1 に答える 1

1

セッションが忘れられるという問題は解決しませんでしたが、代わりにCookieを使用すると機能することがわかりました。そのような:

if (!empty($_GET['store']) && strtolower($_GET['store'])=='eu') {
    setcookie('isEUStore', true, 0, '/', $faco_domain);
    setcookie('isUSStore', true, time()-3600, '/', $faco_domain);
} elseif (!empty($_GET['store']) && strtolower($_GET['store'])=='us') {
    setcookie('isUSStore', true, 0, '/', $faco_domain);
    setcookie('isEUStore', true, time()-3600, '/', $faco_domain);
}

CookieはWordpressページ間で忘れられませんが、ブラウジングセッションの終了時に期限切れになります。

于 2012-06-20T12:14:03.963 に答える