Php $会话[';myvar';]在重新加载页面时取消设置
我有一个登录表单,它提交到一个简单的“checklogin”文件,该文件启动会话,如果“用户名”和“密码”匹配,则重定向到索引页。在索引页面上,我有一个函数,如果会话id不再匹配,它会重定向回登录表单页面 我做了一个Php $会话[';myvar';]在重新加载页面时取消设置,php,session,login,session-variables,Php,Session,Login,Session Variables,我有一个登录表单,它提交到一个简单的“checklogin”文件,该文件启动会话,如果“用户名”和“密码”匹配,则重定向到索引页。在索引页面上,我有一个函数,如果会话id不再匹配,它会重定向回登录表单页面 我做了一个echo$_会话['sid']和会话id似乎进行得很好。但是,当我重新加载页面时,$\u SESSION['sid']未设置并且不再分配值。它继续重定向回登录页面 下面是我的代码。感谢您的帮助 文件1-checklogin.php <?php session_start();
echo$_会话['sid']索引页上的代码>和会话id似乎进行得很好。但是,当我重新加载页面时,$\u SESSION['sid']
未设置并且不再分配值。它继续重定向回登录页面
下面是我的代码。感谢您的帮助
文件1-checklogin.php
<?php
session_start();
$uid = username;
$pw = password;
if (($uid == 'username' and $pw == 'password'))
{
$_SESSION['sid']=session_id();
header("location:index.php");
exit();
}
?>
文件2-index.php
<?php
session_start();
if ($_SESSION['sid'] !== session_id()) {
header("location:login.php");
}
?>
其他信息:
服务器运行的是PHP5.4。但是,当我通过XAMPP(PHP7)在本地主机上运行它时,它工作得很好。有解决办法吗?索引页上是否有会话销毁?去掉那个,不。我没有会话_destroy();在我的网站上的任何地方@每次刷新会话id时,会话id都会更改,因为您在页面的开始处有会话开始。根据你查到的其他资料variable@shazyriver正确的。然而,我也试着给它一个设定值,但效果不好。检查我的答案。