0

これは、PHPでCookieを設定するために使用している非常に単純なコードです。

setcookie("vgc_email", $userinfo['email']) or emsg("Unable to set cookie");

Error_reportingはE_ALLに設定されており、エラーは発生しませんが、Unable to set cookieこのコードを実行しようとするとCookieが設定されません。私はそれ$userinfo['email']が空でないことを確認しました。また、Facebook connectを使用すると、WebサイトにCookieが設定されているため、Cookieを受信できると確信しています。では、なぜこれが機能しないのでしょうか。

4

2 に答える 2

3

マニュアルから:

この関数を呼び出す前に出力が存在する場合、setcookie()は失敗し、FALSEを返します。setcookie()が正常に実行されると、TRUEが返されます。これは、ユーザーがCookieを受け入れたかどうかを示すものではありません。

そのため、ほとんどの場合、を呼び出す前にデータを出力していますsetcookie()

于 2012-10-27T17:17:18.997 に答える
1

でCookieを設定する前に、ヘッダーが送信されたかどうかを確認してくださいheaders_sent()

于 2012-10-27T17:15:43.117 に答える