我有下面的代码,没有错误,但它只显示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;
?>
Logout按钮运行:
<?php
session_start();
session_destroy();
?>
我的主页中是否有代码根据会话是否设置显示存储在会话中的值,所以我知道它正在破坏会话,当我登录时会设置它。
我只是不明白为什么它总是只显示会话不存在的if中的html。
我可能犯了一个愚蠢的错误,如果有的话我很抱歉。
所有帮助表示赞赏-Tom
答案 0 :(得分:0)
试试这个
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; ?>
答案 1 :(得分:0)
设置$_SESSION
session_start();
$_SESSION['logged_in'] = true;
检查$_SESSION
:
session_start();
if(isset($_SESSION['logged_in'])){
echo "logged in";
}
答案 2 :(得分:-1)
始终设置$_SESSION
变量 - 无论您是否已初始化会话。您必须在$_SESSION
数组中实际指定某些内容才能获得结果。例如,在成功登录后执行以下操作:
$_SESSION['is_logged_in'] = true;
然后你可以检查
if(isset($_SESSION['is_logged_in']))
您想要的任何地方(而不是if(isset($_SESSION))
)。