首页 > 解决方案 > 如何检查会话是否已启动并重定向用户?

问题描述

我正在尝试创建一个 PHP 片段,用于检查用户在到达我的索引页面时是否使用 Sessions 进行了注册,如果没有,我会将他们重定向到注册页面。

我在用户注册后开始了会话,但我似乎无法在我的索引页面上检查会话是否已经开始。

注册 PHP:

    session_start();

    //create connection

    //check for errors in the form

    if(!$error) {

        //insert values from form to sql database

        $_SESSION['login_user'] = $username;

        //email user


    }
?>

索引.php

<?PHP

    include("signupphp.php");

    if(!$username) {

        echo '<script>location.href = "https://google.com";</script>';

    }

 ?>

理想情况下,我希望当用户注册时,它会创建会话,并且每当他们访问时index.php,它都会检查他们是否已经注册,如果没有,它会将他们重定向到注册页面。

标签: phphtmlmysqlsession

解决方案


如果我对您的理解正确,您想检查会话是否已使用用户名设置,对吗?

在这种情况下,您正在检查错误的变量。

if( !isset($_SESSION["login_user"]) ){
    header("Location: https://google.com");
    exit();
}

这应该可以解决问题。我还将您的重定向更改为 PHP 重定向。


推荐阅读