2016-07-05 10 views
0

IEとEdgeに問題があります。ドメインが自分のPCをポイントしているローカルマシンのCookieをブロックしているようです。ローカルドメインのCookieがIE/Edgeによってブロックされている

だから私は、次のコードでドメインhttp://mydomain.local/cookie.phpを持っている:私は私のサーバーにそれをアップロードし、私はすべての問題を取得しないIE /エッジを通してそれを実行した場合

<?php 
setcookie('my','cookie',0); 
print '<pre>'; print_r($_COOKIE); print '</pre>'; 
?> 

。それをローカルで実行しても何も設定されていません。クッキーはありません。私は「Cookieをブロックしないでください」というCookieオプションをチェックしましたが、ちょっと混乱しています。どこかのセキュリティ設定がありますか?ありがとう。

答えて

0

クッキーが読み込まれる前に再読み込みが行われることは知っていますか?したがって、Cookieを設定しますが、ページをリロードする必要があるため、Cookieを読み取ることはできません。
ページをリロードすると、再度Cookieが設定されるため、読み取ることはできません。

if(!isset($_COOKIE)){ 
    setcookie('my','cookie',0); 
}else{ 
    print '<pre>'; print_r($_COOKIE); print '</pre>'; 
} 

したがって、ページを開き、[更新]を押します。

編集:これはインターネットエクスプローラとは関係がありません。これはsetcookieとPHPのクッキー機能の仕組みです。
http://php.net/manual/en/function.setcookie.php

陥りやすい落とし穴:

Cookies will not become visible until the next loading of a page that the cookie should be visible for. To test if a cookie was successfully set, check for the cookie on a next loading page before the cookie expires.

+0

はい、私はそれを感謝します。残念ながらそれを修正することはありません。 – uk2016

+0

これは奇妙なことです**あなたは上記のコードを**リフレッシュすることを意味しますか?実際には大きな違いです。どのヘッダーが送信されますか? https://msdn.microsoft.com/en-us/library/gg130952(v=vs.85).aspx – Andreas

関連する問題