ホームページ  >  記事  >  バックエンド開発  >  PHP が Cookie の設定に失敗した場合の対処方法

PHP が Cookie の設定に失敗した場合の対処方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-09-28 15:57:083084ブラウズ

PHP が Cookie の設定に失敗した場合の対処方法

setcookie を使用して特定のページに Cookie を設定します (例:

setcookie("id",$id, time()+36002430);

しかし、ホームページに戻った後、有効になっていないことがわかりました。JavaScript を使用する) :alert(document.cookie) 空であり、PHP の $_COOKIE にもデータがありません。

PHPの公式サイトにアクセスしてsetcookieの説明を確認する 公式サイトの例もこんな感じですが、パラメータの記述をよく見てみると問題が見つかりました。

関連する推奨事項: 「php 入門チュートリアル

setcookie の 4 番目のパラメーターはパスです:

The path on the server in which the cookie will be available on. If set to ‘/’, the cookie will be available within 
the entire domain. If set to ‘/foo/’, the cookie will only be available within the /foo/ directory and all 
sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being 
set in.

つまり、4 番目のパラメーターがパラメータが空の場合、デフォルトではカレントディレクトリのみで有効になりますが、通常は問題ありません。

しかし、私のサイトはリライトを使用して設定されており、index.php は非表示になっているため、設定された Cookie はこのページでのみ有効です。

解決策は、4 番目のパラメータを追加することです:

setcookie("id",$id, time()+36002430 ,'/');

以上がPHP が Cookie の設定に失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。