0

すべての Cookie を出力する小さなテスト ページがあり、$_COOKIE['TEST'] が設定されていない場合、Cookie レコードが作成されます。

<?php

if (!isset($_COOKIE['TEST']) ) {
    $now = time();
    setcookie("TEST", $now, $now+2592000);
}
else { 
    print_r($_COOKIE);
}
?>

これは、Chrome と、私がテストした他の 3 台の PC の IE 8 で正常に動作します。ページが初めて表示されると、ブラウザーは Cookie を作成します。2 回目の訪問で、レコードが印刷されます。出力は次のようなものです。

配列 ( [TEST] => 1366214517 )

ただし、IE8 を搭載した 1 台の PC では、これは機能しません。他の人にも問題が発生するのではないかと心配しています。問題のあるマシンで:

  • プライバシー設定が低に設定されている

  • また、次の手順に従って、[プライバシー] > [サイト] でこのサイトの Cookie を許可しました: http://windows.microsoft.com/en-GB/windows-vista/block-or-allow-cookies

  • [表示] > [ウェブページのプライバシー ポリシー] の下にあるプライバシー レポートには、「お客様のプライバシー設定に基づいて、制限またはブロックされた Cookie はありませんでした」と表示されます。クッキーが受け入れられると表示されます

  • サーバー時間について JavaScript と PHP を使用して PC 時間を確認しましたが、どちらもインラインです (Cookie の有効期限が切れる大きなページでテストした場合)。

この質問に関する洞察をいただければ幸いです。

どうもありがとう。

更新Cookie に有効期限を追加しました

更新 2最初の if ステートメントから set cookie を削除すると (以前のページ ビューで Cookie が既に保存されている必要がある場合)、IE 開発者ツールには Cookie の記録が表示されません。セット Cookie を戻すと、次のメッセージが出力されます。

名前 テスト値
1366271544ドメイン
www.myexamplewebsite.com
パス /
有効期限 18/05/2013 08:52:24

4

0 に答える 0