php - 如何检查会话是否已启动并重定向用户?
问题描述
我正在尝试创建一个 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
,它都会检查他们是否已经注册,如果没有,它会将他们重定向到注册页面。
解决方案
如果我对您的理解正确,您想检查会话是否已使用用户名设置,对吗?
在这种情况下,您正在检查错误的变量。
if( !isset($_SESSION["login_user"]) ){
header("Location: https://google.com");
exit();
}
这应该可以解决问题。我还将您的重定向更改为 PHP 重定向。
推荐阅读
- mongodb - MongoDB - 有条件地执行命令
- php - 分页搜索在 laravel 中不起作用
- php - 在 Prestashop Feeder 中将数据添加到文件
- django - how I can properly get the aggregation of these fields
- c# - Cybersource 安全验收托管结账失败并需要账单信息
- ios - 在 swiftUI 中的视图数组之间切换
- scala - Scala中的sbt libraryDependency和import语句有什么关系?
- python - 在 pycharm 调试器中调试异步程序
- javascript - highcharts mapbubble 显示 3 次
- doxygen - 如何修改 Doxygen HTML 输出,使其可以使用 CSP 沙箱标头托管?