我设置了一个登录系统,该系统存储了一个会话变量并在每个页面上检查它,但后来我转移到了一个新服务器。
现在,我设置的任何会话变量仅在设置它的页面上可用。我一直在寻找可能发生这种情况的原因,并且已经解决了权限问题。这可能与不正确的网址有关吗?服务器上的其他一切似乎工作正常。
如果有帮助的话,我正在运行最新版本的 PHP 和 Apache。
因为您可能(只是假设)没有session_start();
在需要的地方浏览您的其他页面。例如,创建一个名为 session.php 的页面
会话.php
session_start();
if (!isset($_SESSION))
{
// Enforce logout as session is not set.
}
然后:
include "session.php";
在需要登录功能的页面中使用此代码段。
我以前遇到过这样的问题。您可以尝试在第一次使用 启动会话时设置会话 id session_id()
,然后在每次之前使用相同的会话 id session_start()
。
例如:
<?php
session_id(integer);
session_start();
?>