我正在尝试使用我的登录系统。出于某种原因,当我登录时,它将重定向到sucesspage.php。这时候它知道我正在登录,但是当我点击后退按钮时,我仍然可以访问login.php文件。
正常登录是指当您成功登录并将您重定向到成功页面时,即使您点击浏览器上的后退按钮,它也必须保持登录成功页面。
所以基本上我有login.php文件和process.php文件以及用户将被重定向的success.php文件。
这是我的process.php文件:
<?php
session_start();
require("new-connection.php");
if(isset($_POST['action']) && ($_POST['action']) == 'register'){
//call to function
register_user($_POST); //use the ACTUAL POST
}
elseif(isset($_POST['action']) && ($_POST['action']) == 'login'){
login_user($_POST);
}else{
session_destroy();
header('Location: homepage.php');
die();
}
function login_user(){ //just a parameter called post
global $connection;
$email = mysqli_real_escape_string($connection, $_POST['email']);
$password = mysqli_real_escape_string($connection, $_POST['password']);
$query = "SELECT * FROM users WHERE users.password = '{$password}'
AND users.email = '{$email}'";
$user = fetch($query); //go and grab all users on above condition
if(count($user) > 0){
$_SESSION['user_id'] = $user[0]['id'];
$_SESSION['first_name'] = $user[0]['first_name'];
$_SESSION['logged_in'] = true;
header('Location: success-homepage.php');
die();
}else{
$_SESSION['errors'][] = "cant find users";
header('Location: homepage.php');
die();
}
}
?>
这是我的success.php文件:
<?php
session_start();
echo "HELLO {$_SESSION['first_name']} SUCCESS! <br>";
echo "<a href='process-homepage.php'>LOGOUT</a>";
?>
有什么想法吗?谢谢!
答案 0 :(得分:2)
检查登录页面中的会话变量是否设置,如果set..redirect到您的成功页面,这将有所帮助。在您的登录页面上添加
if(isset($_SESSION['user_id'],$_SESSION['first_name'])) { header('Location: success-homepage.php'); }