0

我看过很多关于这方面的文章,但到目前为止没有任何效果。我想做的很简单。

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

如果会话尚未从登录页面开始,我想将其设置为您无法查看菜单页面的位置,它将引导您返回登录页面。如果这是不可能的,我最终想要做的是让它到你必须使用登录页面来查看菜单页面的地方。

评论中的代码:

登录.php

session_start(); 
session_id ("username"); 

菜单.php

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

2 回答 2

2

与其只是开始会话,不如在里面放一些东西,这样你就知道它已经过去了login.php

$_SESSION['logged_in'] = true;

然后,在菜单页面内,您还需要session_start()

session_start();
if (!isset($_SESSION['logged_in'])) {
    header('Location: /login.php');
}
于 2013-03-14T02:11:22.617 回答
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

啊啊啊我才意识到这已经说过了……男孩,我的开端很糟糕

于 2013-03-14T02:00:25.963 回答