ユーザーがログインしたときに問題が発生し、ログアウトしたときにセッションを破棄して、戻るボタンをクリックしてページを訪問しようとしましたが、ブラウザのボタンをクリックすると、ログアウトしてもボタンをクリックしてタスクを実行することができます。ログアウト後にバックページを訪問する方法を停止する方法
これは私のフォームコードです:../FrontEndFiles/AdminLogin.php
クリックで<div class="center">
<form name="myForm" method="post" action="../Admin/AdminData.php" onsubmit="return validateForm()">
<label>User name:</label>
<input type="text" name="user_name" placeholder="User">
<br>
<br>
<label>Password:</label>
<input type="password" name="password" placeholder="Password">
<br>
<input type="submit" name="login_Admin" value="login">
</form>
</div>
コード以下の送信ボタンを実行します:../Admin/AdminData.php
if (isset ($_POST['logout'])) {
$dbname->logout();
}
をし、次の関数を呼び出します。
public function logout() {
unset($_SESSION["dbuser_name"], $_SESSION["dbpassword"], $_SESSION["dbid"]);
session_unset();
Session_destroy();
header('Location: ../FrontEndFiles/AdminLogin.php');
exit();
}
これは、管理者のログインコードです:
public function loginAdmin($login_admin) {
if (!empty($login_admin[0]) || !empty($login_admin[1])) {
$query = "SELECT Patient_ID FROM Patient WHERE Patient_name = '$login_admin[0]' and Patient_password = $login_admin[1] and Role = 'a'";
//var_dump($query);
$abc = $this->conn->query($query);
$row = mysqli_num_rows($abc);
if ($row == 1) {
while ($row1 = $abc->fetch_assoc()) {
$_SESSION["dbuser_name"] = $row1['Patient_name '];
$_SESSION["dbpassword"] = $row1['Patient_password'];
$_SESSION["dbid"] = $row1['Patient_ID'];
}
header('Location: ../FrontEndFiles/Admin_Index.php');
} else {
header('Location: ../FrontEndFiles/AdminLogin.php');
}
} else {
header('Location: ../FrontEndFiles/AdminLogin.php');
}
}
一部のブラウザでは、キャッシュ内の前のページを維持しないと、そのユーザーがORない記録されます確認し、各ページの上部に、PHPのコードでこれを実装します戻るボタンを使用しているときにサーバーに再度照会してください。 –