【问题标题】:How to delete a Session Cookie如何删除会话 Cookie
【发布时间】:2022-01-03 11:23:42
【问题描述】:

经过大量研究,我无法找到实现梦想的方法。 我目前正在制作一个托管在 m

<?php
session_start();
require("db.php");
if(isset($_SESSION['code'])){
  $code = $_SESSION['code'];
  $saftycode = $db_link->real_escape_string($code);
  $check = 0;
  $db_res = mysqli_query($db_link, "SELECT * FROM user WHERE code = '$saftycode'");
  while($row = mysqli_fetch_array($db_res)){
    $check = 1;
  }
  if($check == 1){
    header('Location: home.php');
  }
}
?>
<html>
    ...
</html>
<?php
if(isset($_POST['username']) || isset($_POST['password'])){
  $username = $_POST['username'];
  $password = $_POST['password'];
  if($username){
    if($password){
      require("db.php");
      $saftyusername = $db_link->real_escape_string($username);
      $saftypassword = $db_link->real_escape_string($password);
      $code = null;
      $db_res = mysqli_query($db_link, "SELECT * FROM user WHERE username = '$saftyusername' AND password = '$saftypassword'");
      while($row = mysqli_fetch_array($db_res)){
        $code = $row['code'];
      }
      if($code){
          $_SESSION['code'] = $code;
          $_SESSION['ERROR'] = "";
          header('Location:home.php');
      }else{
          $_SESSION['code'] = $code;
          $_SESSION['ERROR'] = "";
          header('Location:index.php');
      }
    }else{
      $_SESSION['ERROR'] = "";
      header('Location: index.php');
    }
  }else{
    $_SESSION['ERROR'] = "";
    header('Location: index.php');
  }
}

整个脚本中没有实现 session_destroy()。我实际上不知道是否可以在 javascript 中删除 PHPSESSID cookie,如果这不可能,我可以使用 php 删除 cookie。有没有办法通过脚本删除 PHPSESSID Cookie?,我可以一次删除所有 cookie 吗?这些是我要问你们的问题

Cookie 保存在 localhost>Cookies>PHPSESSID 下

也许这个问题是重复的,但我需要知道如何注销用户

【问题讨论】:

标签: php session-cookies logout


【解决方案1】:

你说在 PHP 中没有办法做到这一点是正确的,如果你想删除一个 cookie,你可以做的是将过期时间设置为过去的某个时间:

// Set to 1 second in the past, this will invalidate the cookie.
setcookie("cookie_name", "", time() - 1, "/");

取消设置 $_COOKIE 全局中的 cookie 索引也是一个好主意,因为在解析页面的其余部分时它可以存在于其中。

unset($_COOKIE["cookie_name"])

【讨论】:

    【解决方案2】:

    要删除 cookie,您只需将过期日期设置为之前的日期(例如昨天)

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

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 2012-09-01
      • 2013-09-12
      • 2014-04-16
      • 1970-01-01
      • 2012-08-12
      • 2016-06-17
      • 1970-01-01
      • 2012-09-10
      相关资源
      最近更新 更多