我已经看过很多关于此的文章,但到目前为止还没有任何成功。我想做的很简单。
我有一个登录页面..通过mysql / php等验证你是谁。这个页面里面有session_start()。从那里,它将带您进入菜单页面。
如果会话尚未从登录页面启动,我无法查看菜单页面,它将引导您返回登录页面。如果这是不可能的,那么我最终想做的就是在必须使用登录页面查看菜单页面的地方。
评论代码:
login.php
session_start();
session_id ("username");
menu.php
if(!session_id() == "") {
header("location:login.html");
}
答案 0 :(得分:2)
不应该只是开始会话,而是应该放入一些内容,以便您知道它已经过了login.php
:
$_SESSION['logged_in'] = true;
然后,在菜单页面中,您还需要session_start()
:
session_start();
if (!isset($_SESSION['logged_in'])) {
header('Location: /login.php');
}
答案 1 :(得分:0)
使用Laravel等框架,因为这些功能已经内置并正确处理。没有用重新发明轮子,像我提到的那样的框架很容易学习。
编辑:对不起,我回答问题比较新,所以我会再试一次。
在像Usercake这样的库中,当用户登录时设置会话变量
会发生什么$_SESSION["stack_user"] = "user@stackoverflow.com"; // This could be their name, an object etc
在需要用户登录的每个页面上执行此操作后,您可以通过
进行检查if (!isset($_SESSION["stack_user"])){
header("Location: /login.php");
}
// The rest of your page logic here
Aaaaa和我刚刚意识到这已经说过......男孩我的开局不好