ホームページ >バックエンド開発 >PHPチュートリアル >Cookieの有効期限は正常に実行できませんのでご確認ください。
ファイル ディレクトリ構造 ログイン インターフェイスとメイン ファイルはルート ディレクトリにあり、その他のファイルはメイン フォルダーにあります。
$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 変数を渡すかどうかをブラウザに通知するために使用されます
setcookie("F_user",$name,,time()+900);間違っています
文法チェックに合格することは不可能であり、当然正しいパフォーマンスはありません
キーコードさえ隠しているので、何も言うのは難しいです
これは手動のエラーであり、実際には次のとおりです: setcookie("F_user" ,$name,time( )+900); これで普通にログインして実行できます
ブラウザの Cookie オプションに F_user があるかどうかを確認します
var_dump($_COOKIE); 結果は次のとおりです:
[ "F_user"]=> string(0) ""
ブラウザの結果は次のようになります:
、もう 1 つは私のプログラム フォルダーにあります
すべてのプログラムはこの中にありますフォルダーにあるのですが、なぜこの F_user が表示されるのかわかりません
私のテストでは問題ありません
すでに理由を見つけてブラウザの Cookie 表示方法を使用しました
次に setcookie("F_user",$name,time()+900," /");
スコープが異なるため、当然 2 つの F_user が存在しますこれら 2 つの F_user が php に渡されると、にはパス制約はありません
PHPの規約によれば、同じ名前の配列のキーが最初に上書きされます
結果はあなたが遭遇した状況です