我有这个代码,并且需要代码添加一个注销按钮,任何人都可以写出注销用户的注销按钮代码,我读了一些关于destroy会话但不知道如何编写代码出来,谢谢!
<?php
include 'connection.php';
//start of checking if user is logged in code
if (!valid_credentials) {
header('Location: login.php');
exit();
}
$_SESSION['user'] = 'username';
if (!isset($_SESSION['user'])) {
header('Location: login.php');
exit();
}
//end of logged in code and starting a session
$query = "SELECT * FROM people";
$result = mysql_query($query);
While($person = mysql_fetch_array($result)) {
echo "<h3>" . $person['Name'] . "</h3>";
echo "<p>" . $person['Description'] . "</p>";
echo "<a href=\"modify.php?id=" . $person['ID']. "\">Modify User</a>";
echo "<span> </span>";
echo "<a href=\"delete.php?id=" . $person['ID']. "\">Delete User</a>";
}
?>
<h1>Create a User</h1>
<form action="create.php" method="post">
Name<input type ="text" name="inputName" value="" /><br />
Description<input type ="text" name="inputDesc" value="" />
<br />
<input type="submit" name="submit" />
</form>
答案 0 :(得分:23)
而不是按钮,放置链接并将其导航到另一个页面
<a href="logout.php">Logout</a>
然后在logout.php
页面中,使用
session_start();
session_destroy();
header('Location: login.php');
exit;
答案 1 :(得分:7)
如果你想完全销毁一个会话,你需要做更多的事情,然后再
session_destroy();
首先,您应该取消设置任何会话变量。然后你应该销毁会话,然后关闭会话的写入。这可以通过以下方式完成:
<?php
session_start();
unset($_SESSION);
session_destroy();
session_write_close();
header('Location: /');
die;
?>
您想要一个单独的注销脚本的原因是您不会意外地在页面上执行它。因此,请创建一个指向您的注销脚本的链接,然后标题将重定向到您网站的根目录。
编辑:
您需要从脚本顶部附近的退出代码中删除()。它应该只是
exit;