登录无法正常使用PHP

时间:2015-07-09 09:47:40

标签: php login

我正在尝试使用我的登录系统。出于某种原因,当我登录时,它将重定向到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>";
?>

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:2)

检查登录页面中的会话变量是否设置,如果set..redirect到您的成功页面,这将有所帮助。在您的登录页面上添加



    if(isset($_SESSION['user_id'],$_SESSION['first_name']))
    {
        header('Location: success-homepage.php');
    }

相关问题