php - 删除用户但仍登录后销毁 session

标签 php session login-script

在 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/

相关文章:

java - 在 GAE Java 中创建自定义用户数据库

PHP正则表达式,匹配最后一次出现的

web-services - session 变量和 Web 服务

php - 如何正确删除 PHP session ?

javascript - Angularjs - 将服务作为 Controller 参数传递导致错误

php - 登录 cookie 不在页面刷新时保存

php - 如何通过循环将数据分组在同一标题下

javascript - 在 PHP 中动态添加数据到 HTML Table

php - 警告 : Illegal string offset 'mime'

.net - .NET session 变量是否有 R Shiny 等效项?