私のシステムプロセスは次のとおりです。まず、管理者がユーザー名とパスワードを入力してログインすると、システムは直接 result.php にジャンプします。そして、ユーザーがアドレスバーに直接 result.php を入力してアクセスできないように、この段落を result.php に書きました。
うわー
しかし、ログイン後、システムは次のプロンプトを表示します: セッションはすでに開始されています - 5 行目の session_start() を無視します
php5.4?
Session_start() がプログラム内で複数回実行されました
含まれている 2 つのファイルには既に session_start() が含まれています
php5.4?
プログラム内で session_start() wamp2.2 を何度も実行しましたが、私の php のバージョンがわかりません。私のadmin_header.phpにもそのような段落がありますが、それはこれに関連していますか?しかし、このファイルからこの段落を削除すると、ユーザーはファイル名を直接入力してアクセスできるようになります。
段落全体を削除する必要はありません。開始されているかどうかを確認するだけです。開始されていない場合は、もう一度 session_start() を実行してください。 session_start()?
段落全体を削除する必要はありません。開始されているかどうかを確認するだけです。開始されていない場合は、もう一度 session_start() を実行してください。 session_start()? 自分で追加した空白行は、最初の 2 つのファイルと区別するためです。書き込み形式が間違っている場合は、元に戻します。
別の質問ですが、開始するかどうかを決定するステートメントは何ですか?
ちなみに、admin.php ファイルにユーザー名とパスワードを入力した後、login.php でそれらが正しいかどうかを確認し、正しい場合は result.php にジャンプします。このlogin.phpに変更する必要があるものはありますか?
<?php include "conn.php"; include "admin_header.php"; session_start(); if($_SESSION["admin_name"]==""&&$_SESSION["admin_pass"]==""){ session_write_close(); header("Location:index.php"); }?>
インクルードに session_start() があります。これを 2 回開くと、次のようになります。この状況では、含めたコードで使用した後にセッションを閉じるか、内部のコードから session_start() を削除することができます。
これにより、セッションが開いているかどうかを判断できます
if(!isset($_SESSION)){
Session_start();
インクルードに session_start() が含まれている場合、これを 2 回開くと、この状況が発生します。含まれているコードを使い果たした後にセッションを閉じるか、内部のコードから session_start() を削除します。
これにより、セッションが開いているかどうかを判断できます
if(!isset($_SESSION)){
} したがって、システムのホームページにジャンプする前に「ユーザーが不正にログインしました」を追加したい場合、どのように追加すればよいですかそれ? システムのホームページ上で、セッションが正常にログインしているかどうかを判定します。例えば、ログインが正常であればセッションを1、異常であればセッションを0に設定します。0と判定された場合は、アラートするだけです。 「ユーザーが不正にログインしました」というメッセージが表示されます