📜  supprimer un cookie avec un input en php (1)

📅  最后修改于: 2023-12-03 15:35:11.408000             🧑  作者: Mango

删除 cookie in PHP

操作 cookie 是一个成熟 Web 应用程序的重要部分。在 PHP 中,删除 cookie 很简单。

要删除 cookie,需要使用 setcookie() 函数,将 cookie 过期时间设置成过去的时间。

以下是 PHP 代码示例,演示如何在页面加载时删除名为 my_cookie 的 cookie:

<?php
if(isset($_COOKIE['my_cookie'])) {
   setcookie('my_cookie', '', time() - 3600);
   echo "已成功删除 cookie。";
} else {
   echo "该 cookie 不存在。";
}
?>

上面的代码首先检查是否存在名为 my_cookie 的 cookie。如果 cookie 存在,则使用 setcookie() 函数将其设置为过期。这样就可以保证 cookie 会被删除。如果该 cookie 不存在,代码将打印相应的消息。

值得注意的是,setcookie() 函数必须在页面其他内容之前调用,因为它会在 HTTP 标头中设置 cookie。

这是如何在页面中创建一个带有输入框的表单,以便用户输入 cookie 名称进行删除的示例:

<form action="delete_cookie.php" method="post">
   <label for="cookie_name">请输入要删除的 cookie 名称:</label>
   <input type="text" id="cookie_name" name="cookie_name">
   <input type="submit" value="删除">
</form>

通过此表单,用户可以输入要删除的 cookie 名称,并单击“删除”按钮。然后使用以下 PHP 代码在 delete_cookie.php 脚本中处理表单提交:

<?php
if(isset($_POST['cookie_name'])) {
   $cookie_name = $_POST['cookie_name'];
   if(isset($_COOKIE[$cookie_name])) {
      setcookie($cookie_name, '', time() - 3600);
      echo "已成功删除 cookie。";
   } else {
      echo "该 cookie 不存在。";
   }
} else {
   echo "未指定要删除的 cookie。";
}
?>

上面的代码首先检查是否指定了要删除的 cookie 名称。如果指定了,则将其保存为 $cookie_name 变量。然后,代码检查该 cookie 是否存在。如果找到该 cookie,则删除它。否则,代码将打印相应的错误消息。

此外,如果没有指定要删除的 cookie 名称,代码将打印相应的消息。

这就是如何在 PHP 中删除 cookie 的示例。记住,在任何 Web 应用程序中都必须小心操作 cookie,以确保数据的安全性和完整性。