PHP会话-不保存

PHP会话-不保存,php,session,header,Php,Session,Header,我正在为我的网站做一个管理页面,但我发现了一个问题。我的代码与Wamp配合得很好(并且仍然在Chrome中工作,但不适用于其他人或其他浏览器)。 所以,问题是我的站点在头重定向后没有保存会话变量。(另一件我无法理解的事情是,如果我在页眉后放置骰子或退出,页面将变为空白,您必须手动刷新。但它仍然只在Web服务器上。) 我认为查菲克部分是对的 if($_GET['logout'] == true) 这是一种不好的方式(很多事情都会使这种说法成为事实)。但是他错了,==可以解决这个问题。即使您设置

我正在为我的网站做一个管理页面,但我发现了一个问题。我的代码与Wamp配合得很好(并且仍然在Chrome中工作,但不适用于其他人或其他浏览器)。 所以,问题是我的站点在头重定向后没有保存会话变量。(另一件我无法理解的事情是,如果我在页眉后放置骰子或退出,页面将变为空白,您必须手动刷新。但它仍然只在Web服务器上。)


我认为查菲克部分是对的

if($_GET['logout'] == true) 
这是一种不好的方式(很多事情都会使这种说法成为事实)。但是他错了,
==
可以解决这个问题。即使您设置了
?logout=true
$\u GET['logout']
将包含字符串
true
,而不是布尔值,因此您的
===
将结束
false
“true”
!=
true
)。我会用

if(isset($_GET['logout']))

原因之一可能是

  • 要包括会话_start();在每个页面的顶部,通过$_SESSION['example']获取会话中设置的变量值,否则您将无法获取会话变量值

    2.另一种方法是使用session_start();在config.php文件中,并在需要会话的每个页面的代码顶部包含该文件,否则您将无法获取会话变量的值


  • 我认为这个条件有问题:if($log==true)。如果您尝试使用“==”,会发生什么?这闻起来像是无法修改标题信息-标题已通过某种问题发送。您是否有任何PHP错误/警告?(如果它们被抑制,请使用
    ini\u集(“display\u errors”,true)
    ,或者检查源代码,因为它们可能在
    之前打印,因此在页面上不可见)Chafik:with===注销根本不起作用。索利莫西:事实上,我确实犯了那个错误。我修改了代码,所以每一个打印的代码都会进入标签。如果我激活模具;代码我仍然得到错误,什么也没有显示。你的源文件是用UTF-8编码的吗?如果是的话,他们可能会有一个BOM表,该BOM表会在其他任何事情之前打印出来。请参阅删除BOM表(字节顺序标记),更改编辑器的设置,使其不包含BOM表,并再次保存所有相关文件(记事本++示例:编码菜单>转换为不带BOM的UTF-8)。感谢您的说明!
    if($_GET['logout'] == true) 
    
    if(isset($_GET['logout']))