编程语言
首页 > 编程语言> > php-删除用户但仍登录后销毁会话

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