-1

PHPスクリプトをheader.phpまたはWordpressサイトテーマの他のファイルに直接挿入すると機能しません。

クッキーを書くことに成功しました。次に、JavaスクリプトとPHPコードを使用してこのCookieを確認します。しかし、Javaスクリプトだけが私に「見つかった」を返します。

<script language="javascript">
    <!--
    if (document.cookie.indexOf("users_res") >= 0) {
  alert("found");
}
else {
  alert("not found");
}
    //-->
    </script>
<?php
if (isset($HTTP_COOKIE_VARS["users_res"]))  {
    echo "found";
} else {
    echo "not found";
}
?>

このPHPコードをtest.phpに入れて、手動で自分のサイトにアップロードすると、PHPスクリプトに「見つかった」と表示されます。しかし、コードをheader.phpまたはWPテーマの他のPHPファイルに挿入しようとすると、「見つかりません」と表示されます。

このPHPコードを、テーマとWPバージョンが異なる他の2つのサイトでテストしましたが、それでも機能しません。

4

2 に答える 2

4

あなたの問題は にあると思います。$HTTP_COOKIE_VARSそれを に置き換えれ$_COOKIEば、うまくいくはずです (つまり、呼び出しているスクリプトの一部が$HTTP_COOKIE_VARS関数内にある場合)。

$HTTP_COOKIE_VARS には同じ初期情報が含まれていますが、スーパーグローバルではありません。($HTTP_COOKIE_VARS と $_COOKIE は異なる変数であり、PHP はそれらをそのように処理することに注意してください)

http://php.net/manual/en/reserved.variables.cookies.php

于 2013-02-18T19:57:53.437 に答える
2

に置き換え$HTTP_COOKIE_VARSます$_COOKIE$HTTP_COOKIE_VARSCookie にアクセスできない理由として考えられるのは、非推奨でスーパーグローバルではないことです。

于 2013-02-18T19:58:16.827 に答える