如何检查会话是否已启动并重定向用户? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查会话是否已启动并重定向用户? [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我正在尝试创建一个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
时,它会检查他们是否已注册,如果没有,则会将其重定向到注册页面。
答案
如果我正确理解你,你想检查会话是否已使用用户名设置,是否正确?
在这种情况下,您正在检查错误的变量。
if( !isset($_SESSION["login_user"]) ){
header("Location: https://google.com");
exit();
}
这应该可以解决问题。我还将您的重定向更改为PHP重定向。
另一答案
会话将在您网站的页面之间传播。所以,在注册时:
$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>';
}
以上是关于如何检查会话是否已启动并重定向用户? [重复]的主要内容,如果未能解决你的问题,请参考以下文章