在 login.php 中,我检查是否一切正常,是否创建 session 并重定向用户
$success = $dbh->prepare("SELECT UserId FROM users WHERE username =:username
AND password=:password");
$success->bindParam(':username', $username);
$success->bindParam(':password', $password);
$success->execute();
$rowSuccess = $success->fetch();
$user_id = $rowSuccess['userid'];
$_SESSION['user_id'] = $user_id;
$_SESSION['loggedIn'] = 1;
那么如果他仍然登录,我删除他时如何销毁用户 session
最佳答案
只要您调用session_destroy()
,您的$_SESSION['user_id']
和$_SESSION['loggedIn']
就会不复存在。因此,当用户刷新页面时,有一个 if
条件来检查 userId 并调用
if(!isset($_SESSION['userId'])) { //if the session variable for this doesn't userId exist
print "Sorry, no recognized account";
}
编辑:
这听起来更像是一个 AJAX 解决方案,因为您想在用户被删除时立即执行一些操作。在您的 JavaScript 中设置一个 ajax 请求,该请求调用执行此删除操作的 PHP 脚本。然后,当操作完成时,提醒用户并使用 window.location
将他/她带到不同的页面。总结
$.ajax({
url:"deleteUser.php",
cache:false,
success:function(data){
alert("Sorry you have been deleted. Re-routing to home page");
window.location="homepage.php";
}
});
关于php - 删除用户但仍登录后销毁 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9560022/