1

PHPで直接AJAX経由でCookieを設定しようとしています。以下のコードは、Firefox、Opera、Safari では問題なく Cookie を設定しますが、Chrome と IE8 では設定しません。

`setcookie( "user" , $_REQUEST[ 'login' ] , time() + 60 * 60 * 60 , "/graduate/" , "localhost" );`

何か不足していますか、またはそれを行う唯一の方法は JavaScript を使用することですか?

PS JavaScript を使用すると、すべてのブラウザーで Cookie が設定されます。

4

1 に答える 1

4

だから私はあなたがローカルホストでこれをやっていると思いますか? もしそうなら、それは Google Chrome が localhost サイトに問題があり、代わりに IP アドレスを使用して Cookie を設定しているためです。 /chrome/report-a-problem-and-get-troubleshooting-help/iow88FsnNhQ

Internet Explorer の場合、問題を解決するはずの php サイトからの抜粋を次に示します。

これを回避する最も簡単な方法は、ホスト ファイルにエントリを追加することです (例: 127.0.0.1 www.mytestsite.com")。

リンクは次のとおりです。http://php.net/manual/en/function.setcookie.php

もう 1 つの問題は、setcookie のすべてのパラメーターを指定しないと一部のブラウザーがうまく動作しないことです。それも試してみてください。

役立つ可能性があるその他のリンク: Internet Explorer は一部のドメインの Cookie を無視します (Cookie を読み取ったり設定したりできません)

于 2012-04-16T03:21:27.683 に答える