ホームページ >バックエンド開発 >PHPチュートリアル >Cookieの有効期限は正常に実行できませんのでご確認ください。

Cookieの有効期限は正常に実行できませんのでご確認ください。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:26:041542ブラウズ

ファイル ディレクトリ構造 ログイン インターフェイスとメイン ファイルはルート ディレクトリにあり、その他のファイルはメイン フォルダーにあります。
$name="Zhang San"
setcookie("F_user",$name,,time()+; 900);

print_r($_COOKIE); 通常は F_user>Zhang San

を取得できますが、操作中に 900 秒未満で終了したことがわかります。

その後、Baidu は Cookie にパスを追加する必要があることを発見したため、

setcookie("F_user",$name,,time()+900,"/"); のように変更されました。 print_r($_COOKIE) ; Get F_user> が空であり、Cookie の値をまったく取得できないため、ログインできません
問題とその解決方法は何ですか?


ディスカッション (解決策) への返信
setcookie の 3 番目のパラメーターは有効期限であり、Web サイトに再度アクセスしたときに関連する Cookie 変数を渡すかどうかをブラウザーに通知するために使用されます

Your setcookie("F_user ", $name,,time()+900); は明らかに間違っています

構文チェックも通らないし、当然正しく動作しません
キーコードまで隠しているのでなんとも言えません



setcookie 3 番目のパラメータは有効期限で、Web サイトに再度アクセスするときに関連する Cookie 変数を渡すかどうかをブラウザに通知するために使用されます

setcookie("F_user",$name,,time()+900);間違っています

文法チェックに合格することは不可能であり、当然正しいパフォーマンスはありません
キーコードさえ隠しているので、何も言うのは難しいです


これは手動のエラーであり、実際には次のとおりです: setcookie("F_user" ,$name,time( )+900); これで普通にログインして実行できます


setcookie("F_user",$name,time()+900,"/"); このように、print_r($_COOKIE) ); F_user> が空になります。これは基本的に Cookie の値が取得できないため、ログインできなくなります
ブラウザの Cookie オプションに F_user があるかどうかを確認します



ブラウザの Cookie オプションに F_user があるかどうかを確認します

var_dump($_COOKIE); 結果は次のとおりです:

[ "F_user"]=> string(0) ""

ブラウザの結果は次のようになります:


これを試します: setcookie("F_user ",$name,time()+900);

たった今、何かが現れたことがわかりました。私には 2 つの F_user があり、1 つはルート ディレクトリにあります

、もう 1 つは私のプログラム フォルダーにあります

すべてのプログラムはこの中にありますフォルダーにあるのですが、なぜこの F_user が表示されるのかわかりません


私のテストでは問題ありません

すでに理由を見つけてブラウザの Cookie 表示方法を使用しました

まず setcookie("F_user",$name,time( )+900);

次に setcookie("F_user",$name,time()+900," /");

スコープが異なるため、当然 2 つの F_user が存在します

これら 2 つの F_user が php に渡されると、にはパス制約はありません

PHPの規約によれば、同じ名前の配列のキーが最初に上書きされます
結果はあなたが遭遇した状況です

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