-1

index.php をロードしても、セッションが開始されません。私が作成したログイン クラスを使用するログイン フォームがあり、ユーザーが正常にログインすると、index.php に戻り、セッションが開始されます。

ログインが成功した場合にのみインデックス ページでセッションが開始されるようにするには、どうすればよいですか?

4

3 に答える 3

3

セッションと認証は同義ではありません。ログに記録せずにセッションを開始できます。セッション固有の変数を設定し、それをチェックして、ユーザーがログインしているかどうかを判断できます。

ユーザーがログインしているかどうかに関係なく、ページの上部でセッションを開始するだけです。

于 2013-05-08T17:35:13.573 に答える
0

session_start() について心配する必要はありません。セッションは設定されず、セッションを開始するだけです。したがって、まだファイルの先頭に session_start() を置くことができます

ログインSQLクエリを実行し、ログインが成功した場合に条件を設定して成功した結果を確認し、セッションを設定すると、セッションの設定はかなり単純になります。

if(sussessful_login) {
   $_SESSION['yoursessionname'] =  'value';
}
于 2013-05-08T17:37:08.863 に答える
0

キャッチ 22 の状況に陥っています。ログインの成功はセッションに保存されるため、セッションを開始してユーザーがログインしているかどうかを確認する必要があります。

あなたはこのようなものがもっと欲しいでしょう

<?php

session_start(); // ALWAYS start a session, regardless

if(!isset($_SESSION['logged_in'])) {
   ... not login sentinel set, redirect to login page ...
}
... proceed onwards
于 2013-05-08T17:37:19.840 に答える