PHP ログイン Cookie の検証には非常に奇妙な問題があります。おそらく誰もがそれに気づいていません。指導を求めてください!

WBOY
リリース: 2016-06-23 14:00:16
オリジナル
1054 人が閲覧しました

皆さん、こんにちは。私は現在 PHP ウェブサイトを作成しています。これ以上の手間をかけずに、コードを直接作成します。
ログインして Cookie を追加します。
setcookie("user",$Email,time()+24*60*60);
header("location :http://website.com/MyProfile.php");

Cookie を確認するページに入ります:
if (isset($_COOKIE["user"]))
//echo $_COOKIE ['ユーザー'];
{

クリックして終了し、Cookie を削除します:
setcookie("user","",time()-24*60*60)
("location:http://website.com) /index.php");

問題はこれです:
初回ログイン時は通常通りログインできます。入力後、クリックしてログアウト(Cookieをクリア)します。その後、再度ログインすると、MyProfile ページで Cookie を読み取ることができません (パスワードが正しいことを確認してください)。 2回目以降は普通にログインできるようになります。テストしましたが、設定や削除は問題ありませんでした。何か気づいていないことがありますか?ヘッダー機能に問題があるのでしょうか?
回答を求めています


ディスカッションに返信 (解決策)

同様の問題に遭遇した人はいますか?

他のブラウザに変更してみましたか? Cookie はほとんど使用されず、実際的な経験はありません

他のブラウザに変更してみましたか? Cookie はほとんど使用されず、実務経験がありません


背景もこのように設定されているため、ヘッダーがジャンプする前に出力できないとインターネットで読みました。しかし、確かに初めて Cookie が設定されました。ジャンプ後、2 回目は正常に読み込まれました。ヘッダーと setcookie の間に競合はありません。
これら 2 つの操作の前に他の出力はできません。

コードを比較して確認することをお勧めします。


テストする前に、別のブラウザに変更してキャッシュを更新することをお勧めします

これがその様子です

Cookie は新しいページでのみ有効になります。

あなたの設定は 2 回目のログイン後にのみ有効になるということです

最初のログイン後、上の階で間違って書いてしまいました

これはこんな感じです、

Cookie は新しいページまで有効になりません。

途中に空のジャンプを追加して、ログイン成功ページに移動することはできますか?

初めてログインした後、上の階で間違って書いてしまいました
つまり、ログイン後に Cookie が設定されていないのですが、 2回目のみ有効ですよね?途中にジャンプページを追加することは可能ですか?試してみたところ、次のページで値を受け取ることができるようです

しかし、問題は、最初のログインではエラーがなく、結果がすぐに表示されることです。ログインに成功した後、「ログアウト」をクリックしてログアウトし、再度ログインすると、Cookie が設定されていないことが表示されます。 2回目のログインも問題ありませんでした。理由はわかりません


7 階の ci1699 からの返信を引用します:


こんな感じです、

Cookie は新しいページでのみ有効です。


途中で空のジャンプを追加して、ログイン成功ページに移動することはできますか?
空のジャンプを実行しましたが、まだ Cookie を取得できません。何が起こっているのでしょうか?

別のブラウザを試してみました テストされましたか?

他のブラウザを試してみましたか?
全部試してみたので、アドバイスをお願いします。皆さんもこれに遭遇したことはありませんか?

$Email には毎回必ず値が渡されますか?

私もこの問題に遭遇しました

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