我正在尝试创建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
}
?>
index.php
<?PHP
include("signupphp.php");
if(!$username) {
echo '<script>location.href = "https://google.com";</script>';
}
?>
理想情况下,我希望在用户注册时创建会话,并且每当他们进入index.php
时,它都会检查是否已注册,如果尚未注册,它将将他们重定向到注册页面。
答案 0 :(得分:1)
如果我对您的理解正确,那么您想检查是否已使用用户名设置了会话,对吗?
在这种情况下,您要检查错误的变量。
if( !isset($_SESSION["login_user"]) ){
header("Location: https://google.com");
exit();
}
这应该可以解决问题。我还将您的重定向更改为PHP重定向。
答案 1 :(得分:0)
会话将在您网站的页面之间传播。因此,请注册:
$username = $_POST['username']//The username could be obtained from a login form
sesion_start();
$_SESSION['login_user'] = $username;
$_SESSION['valid'] = true;
将使$username
可用于index.php
session_start()
if( ! $_SESSION['valid']){
echo '<script>location.href = "https://google.com";</script>';
}