我有以下php代码:
<?php
if (!(session_id('password')) || !(session_id('user_name'))) {
header("Location: ../../"); /* Redirect browser */
}
?>
哪个应该检查会话是否不存在,如果不存在,则用户重定向,问题是这种情况总是成立的,即使会话确实存在,我的问题是如何修复它?
尝试使用类似的$_SESSION
<?php
if (!isset($_SESSION) || !isset($_SESSION['password']) || !isset($_SESSION['user_name'])) {
header("Location: ../../"); /* Redirect browser */
}
?>
session_id()
不用于获取会话信息。它用于更改用户的会话ID。您所做的是将每个人的会话ID更改为字符串"user_name"。
而是这样做;
if( empty( $_SESSION[ 'user_name' ] ) ) header("Location: ../../");
我不建议在会话中存储用户的密码。没有理由这样做,只是把它排除在外更安全。
- 检查您是否已在该页面上开始会话
使用页面顶部的session_start();
。。
- 使用if条件,只需添加:
if( isset($_session) && ...);
- session_id()用于生成会话id,而不是检查会话变量
所以使用$_SESSION['username'] && $_SESSION['password']
- 在会话中传递密码是非常不鼓励的