我有下面的代码,它没有给出任何错误,但它只显示Logout按钮,我真的没有什么好说的了。
<?php
if(isset($_SESSION)):?>
<a href="endsession.php"><div class= "buttons feature">Logout</div></a>
<?php
else:?>
<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'"><div class= "buttons feature">LOGIN</div></a>
<?php endif;
?>
注销按钮运行:
<?php
session_start();
session_destroy();
?>
我的主页中有代码吗?它根据会话是否已设置来显示存储在会话中的值,这样我就知道它正在破坏会话,当我登录时,它也已设置。
我只是不明白为什么它总是只显示会话不存在的if中的html。
我可能犯了一个愚蠢的错误,很抱歉。
感谢所有帮助-Tom
尝试这个
if(isset($_SESSION) AND $_SESSION):?>
<a href="endsession.php"><div class= "buttons feature">Logout</div></a>
<?php
else:?>
<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'"><div class= "buttons feature">LOGIN</div></a>
<?php endif; ?>
设置$_SESSION
session_start();
$_SESSION['logged_in'] = true;
检查$_SESSION
:
session_start();
if(isset($_SESSION['logged_in'])){
echo "logged in";
}
始终设置$_SESSION
变量,无论您是否已初始化会话。实际上,您必须在$_SESSION
数组中键入一些内容才能得到结果。例如,在成功登录后执行以下操作:
$_SESSION['is_logged_in'] = true;
然后你可以检查
if(isset($_SESSION['is_logged_in']))
任何您想要的位置(而不是if(isset($_SESSION))
)。