php $_SESSION 问题

2024-12-19 08:06:46
推荐回答(2个)
回答1:

首先,调用session的地方都要加上一句,
session_start();
// 最好加在php代码的最头部,前面不能有html输出
--------------------------------
验证成功后
if(...验证成功的条件){
$_SESSION['login'] = 1;
}

------------------------------
验证session
if($_SESSION['login'] != 1){
// 非登录状态,执行对非登录的处理操作,例如跳回到登录页面
}

回答2:

session的存储在服务器端的用于存储用户的信息的,一般情况下是用户登录时生成,用户退出时销毁。上面你说的验证session我不是很明白你的意思,session只是用来存储信息的,方面在用户浏览过程中随时取出来用的。如果你的意思是说验证该用户是否登录,那就是用一楼回答的方法。
下面我看你也提到了两个用户在同一个客户端(电脑)上登录的问题,这个一般来说是一个浏览器对应一个session_id的。也就是说一个用户登录之后,另一个用户再开一个浏览器登录时没有问题的。这个时候服务器就是用session_id来区分用户的。
假设登录页为
index.html:


用户名:
密码:

验证登录页面为
login.php: session_start();
//这里是设置session的值
$_SESSION['uname'] = $_POST['uname'];
$_SESSION['pwd'] = $_POST['pwd'];
?>
假设login.php页面中有一个链接,用户跳转之后跳到main.php页面(这里代码我就不写了)。
main.php: session_start();
//读取session中的数据
$uname = $_SESSION['uname'];
$pwd = $_SESSION['pwd'];
?>
有什么问题欢迎继续探讨