我已经阅读了有关会话的stackoverflow的几个问题,但从未找到答案: - )
session_start()应放在任何其他代码之前 - 甚至在响应会话问题的每个人都强调html标记之前。我主要通过这个网站学习PHP,并在我去的时候建立我的第一个php网站。除了将它们放在页面上之外,我已经理解了所有关于未设置,破坏和清除的信息。
我知道这一定是一个非常基本的问题,但是在阅读了有关退出但没有找到答案的四天后,我有点绝望了。
非常感谢任何帮助, 谢谢
答案 0 :(得分:0)
session_destroy
应放在您的退出页面中,以便销毁用户会话
session_start(); // start session
session_destroy(); // destroy the current session of user
echo "You are logged out"; // place here greetings that user is logged out
// you can also redirect user to your login page
答案 1 :(得分:0)
您应该取消设置已初始化的会话变量,并在注销按钮操作中使用session_destroy()。
function logout() {
unset($_SESSION['username']);
session_destroy();
}
答案 2 :(得分:0)
在回答有关放置session_destroy()的问题之前,您可能已经知道unset($ _ SESSION ['username'])和session_destroy之间的区别。如果你想破坏整个注册的会话,你可以使用session_destroy,如果你想销毁特定的注册会话,你应该取消设置($ _ SESSION ['username'])。为了你的答案,在你的注销页面写下面的代码: / p>
<?php
session_start();
session_destroy();//destroy all registered session
header('location:login.php');
?>
希望这会起作用
答案 3 :(得分:0)
通常我们在logout.php页面中添加关闭会话的代码,然后重定向到登录页面。 logout.php页面有以下几行
<?php
session_start();
session_destroy();
header('location:login.php');
?>
答案 4 :(得分:0)
无论您是在顶部还是底部编写代码都无关紧要。你需要做的是当点击注销按钮然后应该调用logout()函数并且在该函数内部应该存在这个代码。您还可以使用其中的大量代码调用名为logout.php的另一个php文件