为什么我在页面更改时丢失了PHP会话?
我设置了一个登录系统,它存储了一个会话变量,并在每个页面上检查它,但随后我移动到了一个新的服务器 现在,我设置的任何会话变量仅在其设置的页面上可用。我一直在寻找发生这种情况的原因,并且已经排除了权限问题。这可能与不正确的URL有关吗?服务器上的其他一切似乎都正常工作 如果有帮助的话,我正在运行最新版本的PHP和Apache。因为您可能(只是假设)还没有获得为什么我在页面更改时丢失了PHP会话?,php,session,Php,Session,我设置了一个登录系统,它存储了一个会话变量,并在每个页面上检查它,但随后我移动到了一个新的服务器 现在,我设置的任何会话变量仅在其设置的页面上可用。我一直在寻找发生这种情况的原因,并且已经排除了权限问题。这可能与不正确的URL有关吗?服务器上的其他一切似乎都正常工作 如果有帮助的话,我正在运行最新版本的PHP和Apache。因为您可能(只是假设)还没有获得session\u start()在需要时贯穿其他页面。例如,创建一个名为session.php的页面 Session.php session
session\u start()代码>在需要时贯穿其他页面。例如,创建一个名为session.php的页面
Session.php
session_start();
if (!isset($_SESSION))
{
// Enforce logout as session is not set.
}
然后:
包括“session.php”代码>
在需要登录功能的页面中使用此代码段。我以前遇到过类似的问题。您可以在首次使用session\u id()
启动会话时尝试设置会话id,然后在每次session\u start()
之前使用相同的会话id
例如:
<?php
session_id(integer);
session_start();
?>
除了session_start()解决方案之外,您可能还想让用户使用您的浏览器允许Cookies这是您的假设,但我认为他必须这样做+正如我们所同意的,你的解释很简单