PHP Cookie の有効期限が切れた場合の対処方法

藏色散人
リリース: 2023-03-02 07:48:01
オリジナル
3118 人が閲覧しました

php cookie は、setcookie の 4 番目のパラメータが空の場合、デフォルトでは現在のディレクトリでのみ有効になるため、失敗します。解決策は、4 番目のパラメータを追加し、ステートメントを "setcookie("id", $id , time() 36002430 ,'/');"。

PHP Cookie の有効期限が切れた場合の対処方法

無効な PHP Cookie 設定の原因と解決策

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

setcookie("id",$id, time()+36002430);
ログイン後にコピー

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

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

setcookie の 4 番目のパラメーターは path

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 中国語 Web サイトをご覧ください。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート