php-删除用户但仍登录后销毁会话
作者:互联网
在login.php中,我检查是否一切正常,是否创建会话并重定向用户
$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_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";
}
});
标签:login-script,session,php 来源: https://codeday.me/bug/20191101/1984922.html