如何正确使用会话

时间:2013-03-14 01:54:16

标签: php

我已经看过很多关于此的文章,但到目前为止还没有任何成功。我想做的很简单。

我有一个登录页面..通过mysql / php等验证你是谁。这个页面里面有session_start()。从那里,它将带您进入菜单页面。

如果会话尚未从登录页面启动,我无法查看菜单页面,它将引导您返回登录页面。如果这是不可能的,那么我最终想做的就是在必须使用登录页面查看菜单页面的地方。

评论代码:

login.php

session_start(); 
session_id ("username"); 

menu.php

if(!session_id() == "") { 
    header("location:login.html");
}

2 个答案:

答案 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和我刚刚意识到这已经说过......男孩我的开局不好