我设置了一个登录系统,它存储了一个会话变量并在每个页面上进行了检查,但之后我又搬到了新的服务器上。
现在我设置的任何会话变量仅在其设置的页面上可用。我一直在寻找可能发生这种情况的原因,并且已经克服了权限问题。这可能与错误的网址有关吗?服务器上的其他所有内容似乎都运行良好。
如果有帮助的话,我正在运行最新版本的PHP和Apache。
答案 0 :(得分:2)
因为您可能(只是假设)在您需要的其他页面中没有session_start();
。例如,创建一个名为session.php的页面
<强> session.php文件强>
session_start();
if (!isset($_SESSION))
{
// Enforce logout as session is not set.
}
然后:
include "session.php";
在需要登录功能的网页中使用此代码段。
答案 1 :(得分:0)
我以前遇到过这样的问题。您可以尝试使用session_id()
首次启动会话时设置会话ID,然后在每个session_start()
之前使用相同的会话ID。
例如:
<?php
session_id(integer);
session_start();
?>