状況はこんな感じで、ユーザーログインページ、フロントエンドログインページlogin.php、バックグラウンド処理ページlogin2.phpを書きました
ユーザーはフロントエンドでユーザー名とパスワードを入力してログインできます初めてログインした後、ログアウトして再度ログインしましたが、問題が発生しました。ユーザー名とパスワードは正しく、バックグラウンド検証ユーザーのパスワードも正しく、ログインは成功しましたが、すぐにログアウトしてしまいます。 $username=$_COOKIE["username"] が空なので、何が起こっているのでしょうか?
初めてログインする場合は、Cookie を次のように設定します:
setcookie("username",$username,time()+3600,"/");
バックグラウンド ファイルは、最初にユーザー名とパスワードが正しいかどうかを確認します。一致するとログインを促されます。成功すると、$username=$_COOKIE["username"]を取得し、取得後、ユーザーの情報が表示されます
初回ログインはOKです, しかし、ログアウト後に再度ログインすると $username=$_COOKIE["username"] が取得されます $username は空です
夜中に…。
問題はないと言われています
通常のプロセスは、ログイン時にユーザー名とパスワードを照合し、一致した場合は Cookie を読み取るのではなく、書き込んでいるかどうかを示す必要がある場所です。ログインしている場合は、$_COOKIE["username"] を呼び出して、ログインしているかどうかを確認します。プロセスが見えますか?
これは print_r($_COOKIE) によって出力された内容です
Array( [username] => [lasttime] => [Hm_lvt_40766697e0a5e9d980159040fbbbbea4] => 1375276361,1375276748,1375276810,1375284629 [Hm_lpvt_40766697e0a5e9d980159040fbbbbea4] => 1375286309 [username1] => fengfei [lasttime1] => 1375354872 [bdshare_firstime] => 1375275427220 [fip] => visited)
これは、 javascript:alert(document.cookie) を使用してポップアップします。
username1 が何かを持っています...
コードを投稿して見てみてはいかがでしょうか....
通常は問題ないからです問題がどこにあるのかわかりませんでした。夜中にここには専門家がいません。原因をゆっくり分析しましょう...
代わりに var_dump($_COOKIE) を使用して見てください。 parint_r の場合 ユーザー名は空ですが、setcookie("username",$username,time()+3600,"/"); の $username が空の場合、ユーザー名項目は削除されます。そうすれば、ユーザー名の項目は表示されなくなります
とても素敵です [size=24px]
引用:
引用:
引用:
引用:
引用:
引用:
引用:
引用:
引用:
引用:
[/size
]