Session 检查会话是否没有';不存在php
我有以下php代码:Session 检查会话是否没有';不存在php,session,php,Session,Php,我有以下php代码: <?php if (!(session_id('password')) || !(session_id('user_name'))) { header("Location: ../../"); /* Redirect browser */ } ?> 它应该检查会话是否不存在,如果不存在,则用户重定向,问题是此条件始终为真,即使会话确实存在,我的问题是如何修复它?尝试使用$\u session类似 <?php if (!is
<?php
if (!(session_id('password')) || !(session_id('user_name'))) {
header("Location: ../../"); /* Redirect browser */
}
?>
它应该检查会话是否不存在,如果不存在,则用户重定向,问题是此条件始终为真,即使会话确实存在,我的问题是如何修复它?尝试使用
$\u session
类似
<?php
if (!isset($_SESSION) || !isset($_SESSION['password']) || !isset($_SESSION['user_name'])) {
header("Location: ../../"); /* Redirect browser */
}
?>
会话id()
不用于获取会话信息。它用于更改用户的会话ID。您所做的是将每个人的会话ID更改为字符串“user\u name”
而是这样做
if( empty( $_SESSION[ 'user_name' ] ) ) header("Location: ../../");
我不建议在会话中存储用户的密码。没有理由这样做,只是更安全的做法是将其排除在外
session_start()代码>位于页面顶部
根据您的if条件,只需添加:
if(isset($_会话)&&&&…)代码>
session_id()用于生成不检查会话变量的会话id
因此,请使用$\u会话['username']和&$\u会话['password']
在会话中传递密码是非常不鼓励的
不,我们可以先检查会话是否存在,然后检查密码和用户名如果会话中没有密码或用户名,您将触发通知。那太糟糕了。此外,逻辑是在它们不存在时重定向。除了误用session\u id()
之外,这个问题几乎是正确的。