isset()
ユーザーがログインしたかどうかを検証するための適切な方法を使用してから、ユーザーがログアウトしunset()
たときに変数を破棄するために使用しています。
1 に答える
ページの更新中にハングアップする変数の唯一のタイプは、$_SESSION
変数です。確かにunset()
これらは可能で、次のページはそれを見ることができません (したがって、コードは機能します) が、実際には一連の値で変数を維持する方が良い考えかもしれません。
これにより、自由度と柔軟性が向上します。たとえば、単にセッション変数を bool として使用する場合 (存在するかどうかに関係なく)、オン/オフのオプションしかありません。
一方、最初のページで変数を初期化し、必要に応じて変数内のデータを変更すると、コードの動作がより柔軟になります。次に例を示します。
$_SESSION['LoggedIn']='fresh';
// user has just opened the page and not logged in
$_SESSION['LoggedIn']='login';
// We have presented the user the login page at least once.
$_SESSION['LoggedIn']='validated';
// User has successfully logged in
このアプローチでは、リンクをクリックしたユーザーなどの追加情報を問題なく保存することもできますが、そのページでは情報を表示する前に認証が必要です。もちろん、ユーザーはログイン ページにリダイレクトされますが、バックグラウンドで、ユーザーが正常にログインするまで待機する別のセッション変数を保存し、ユーザーを最初に見たかったページにリダイレクトするイベントをトリガーします。 . これは、ユーザーにとって直感的であり、使いやすいインターフェイスにもなります。サイトにアクセスしてログインし、フロント ページにリダイレクトされることほど、私を悩ませるものはありません。