重定向后PHP会话丢失;刷新后返回

重定向后PHP会话丢失;刷新后返回,php,Php,我有一个登录代码,已经运行了好几年了。没有更改任何代码,服务器主机声称没有更改任何会影响会话的内容 以下是基本情况: 1. User enters login info 2. Sent to process.php - Sets a $_SESSION['userid'] variable if validation was successful - Redirected back to previous page (using exit after header()) 3. $

我有一个登录代码,已经运行了好几年了。没有更改任何代码,服务器主机声称没有更改任何会影响会话的内容

以下是基本情况:

1. User enters login info

2. Sent to process.php
   - Sets a $_SESSION['userid'] variable if validation was successful
   - Redirected back to previous page (using exit after header())

3. $_SESSION['userid'] is not set.

4. Refresh Page.

5. $_SESSION['userid'] is now set properly.
所有页面都有
会话\u start()
。我也尝试过使用
session\u regenate\u id(true)
会话写入关闭()没有任何更改


欢迎对服务器配置或我的代码中的错误提出任何意见。

尝试将用户重定向到与前一个url不同的url,这可能是浏览器缓存问题会话Cookie(因为所有Cookie)对标题前的任何数据都非常敏感。使用curl或类似工具发出请求,并注意UTF8-BOM和其他可能会扰乱设置会话设置的内容。编辑:可能是缓存问题,我在重定向到不同页面时有不同的结果。。有没有关于修复类似问题的想法?重定向到同一页面,包括一个随机参数,例如formerPage.php?trash=97ydf9sbdf97I支持许多其他人以前告诉过您的“缓存问题”方法。可能有人更改了服务器配置,有人更改了htaccess并将您的.php文件添加到可缓存的stuf。。。也许您的用户迁移到了功能强大且过于智能的IE7或IE8,它会尽可能地懒惰,因此它会读取URL,如果您使用JS在浏览器历史记录中前后移动,IE将不会重新加载页面。即使您使用php位置头调用它,IE也可能会给您一个缓存版本。纯粹是懒惰,解决方法是每次都更改URL,因此必须重新加载。如果将用户重定向到与前一个URL不同的URL,则可能是浏览器缓存问题会话cookie(因为所有cookie)对头之前的任何数据都非常敏感。使用curl或类似工具发出请求,并注意UTF8-BOM和其他可能会扰乱设置会话设置的内容。编辑:可能是缓存问题,我在重定向到不同页面时有不同的结果。。有没有关于修复类似问题的想法?重定向到同一页面,包括一个随机参数,例如formerPage.php?trash=97ydf9sbdf97I支持许多其他人以前告诉过您的“缓存问题”方法。可能有人更改了服务器配置,有人更改了htaccess并将您的.php文件添加到可缓存的stuf。。。也许您的用户迁移到了功能强大且过于智能的IE7或IE8,它会尽可能地懒惰,因此它会读取URL,如果您使用JS在浏览器历史记录中前后移动,IE将不会重新加载页面。即使您使用php位置头调用它,IE也可能会给您一个缓存版本。纯粹是懒惰,解决方法是每次都更改URL,所以它必须再次加载它