如何在不注销的情况下注销.php



下面的php代码是login_successful.php,它是在用户登录后获得的,在这个页面中,我想显示他的"用户名"和注销链接

<html>
<head>
<?php
session_start();
if(!session_is_registered(myusername)){
header("location:home.html");
}
?>
</head>
<body>
Welcome $myusername //here i want to display logged in user's name
Login Successful
</body>
</html>

在不使用另一个logout.php文件的情况下,我应该如何在这个页面中放置注销链接。

为什么要使用另一个页面注销?像这个吗

<?php
if(isset($_POST['logout'])) {
//Unset cookies and other things you want to
session_destroy();
header('Location: login.php'); //Dont forget to redirect
exit;
}
?>
<form method="POST">
<input type="submit" name="logout" />
</form>

您必须检查会话是否有他的用户名,然后显示,类似于:

session_start();
if(isset($_SESSION['username'])){
echo "Hello, " . $_SESSION['username']);
echo "<a href="logout.php">Logout</a>"
}

您可以随时调用session_destroy()来破坏您的会话!来自手册:

session_destroy()销毁与当前会话关联的所有数据。它不会取消设置与会话关联的任何全局变量,也不会取消设置会话cookie。

比使用session_destroy()更重要的是,通过将时间设置为一小时后,确保重新设置cookie(如果使用了):time() - 3600,如:

setcookie ("YourCookieName", "", time() - 3600);

最新更新