【问题标题】:PHP sessions not working in some pages onlyPHP 会话仅在某些页面中不起作用
【发布时间】:2012-09-30 09:24:15
【问题描述】:

我在网站上有一些页面。所有页面都有一个栏,我把它放在下面:

session_start();
include('bar.php');
echo $bar;

其中 bar.php 的内容或多或少是这样的:

session_start();
$username=$_SESSION['username'];
if empty($username) {
    $bar='You are not logged in.';
} else {
    $bar='You are logged in.';
}

问题在于,有时该栏可以正常工作(即,当我实际登录时它显示“已登录”),但有时却不能(它显示未登录用户的内容)。例如,浏览索引时,我看到的是未登录用户的栏,但在登录页面上显示的是登录用户的栏。

另外,我尝试删除我的 PHPSESSID cookie 然后登录:它有效,但没有显示此错误。为什么?

【问题讨论】:

  • 你能从 bar.php 中删除 session_start() 并重试吗?
  • 所有浏览器都会出现这种情况吗?

标签: php session


【解决方案1】:

第二个 session_start();只是被忽略了,所以我认为这不是问题。您可以检查 session_start() 是否返回 false:http://es.php.net/manual/en/function.session-start.php

【讨论】:

  • 我测试了第二个session_start();,但是返回1(true),成功了。
猜你喜欢
  • 2017-11-04
  • 2023-03-13
  • 1970-01-01
  • 2012-08-30
  • 2014-05-25
  • 1970-01-01
  • 2021-08-17
  • 2020-11-22
相关资源
最近更新 更多