php会话变量过期
我使用会话变量进行身份验证,据我所知,会话变量应该存储在服务器上,即使在加载新页面时也是如此。 我正在使用以下代码:php会话变量过期,php,session,Php,Session,我使用会话变量进行身份验证,据我所知,会话变量应该存储在服务器上,即使在加载新页面时也是如此。 我正在使用以下代码: <?php session_start(); echo $_POST['path']; if($_POST['path']=="index") { $_SESSION['rightPath']=1; if(isset($_SESSION['rightPath'])) echo "it is set"; ?> &
<?php
session_start();
echo $_POST['path'];
if($_POST['path']=="index")
{
$_SESSION['rightPath']=1;
if(isset($_SESSION['rightPath']))
echo "it is set";
?>
<script type="text/javascript">parent.location='UI.php'</script>
<?php
}
else
{?>
<script type="text/javascript">parent.location='index.php'</script>
<?php
}
?>
parent.location='UI.php'
parent.location='index.php'
在这里,这个isset函数告诉我变量已设置,但在下一页ui.php中,它没有给出相同的结果
<?php
if(!isset($_SESSION['rightPath']))
{
echo "it not is set";?>
<?php }
?>
这是ui.php页面片段。这里执行if语句
我做错了什么?您需要在这里开始课程,一切正常
<?php
session_start();
if(!isset($_SESSION['rightPath']))
{
echo "it not is set";?>
<?php }
?>
您需要在这里开始会话
<?php
session_start();
if(!isset($_SESSION['rightPath']))
{
echo "it not is set";?>
<?php }
?>
您没有在UI.php中启动会话。代码应如下所示,顶部为:
<?php
session_start();
if(!isset($_SESSION['rightPath']))
{
echo "it not is set";?>
}
?>
}
?>
session_start()创建会话或恢复当前会话。因此,在您之前创建会话时,除非您在打算使用会话变量的每个页面上再次执行
会话启动()
,否则会话不会继续。您在UI.php中没有启动会话。代码应如下所示,顶部为:
<?php
session_start();
if(!isset($_SESSION['rightPath']))
{
echo "it not is set";?>
}
?>
}
?>
session_start()创建会话或恢复当前会话。因此,在您之前创建会话时,除非您在每个要使用会话变量的页面上再次执行
session\u start()
。非常感谢。。。我的印象是,因为我没有销毁会话,所以我不需要在每一页上都启动它…如果在用户注销等情况下不再需要会话数据,请记住使用session\u destroy()
。非常感谢。。。我的印象是,由于我没有销毁会话,我不需要在每一页上都启动它……如果在用户注销等情况下不再需要会话数据,请记住使用session\u destroy()
。