Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未在php中删除cookie值_Php_Cookies - Fatal编程技术网

未在php中删除cookie值

未在php中删除cookie值,php,cookies,Php,Cookies,我是php新手,但我有两年的asp.net经验。当我调用logout.php时,它不会删除cookie值 <?php if (isset($_COOKIE['C_username'])) { unset($_COOKIE["C_username"]); unset($_COOKIE["C_password"]); setcookie("C_username", '', time() - 3600); setcookie("C_password", '', time(

我是php新手,但我有两年的asp.net经验。当我调用logout.php时,它不会删除cookie值

<?php

if (isset($_COOKIE['C_username'])) {

  unset($_COOKIE["C_username"]);
  unset($_COOKIE["C_password"]);


  setcookie("C_username", '', time() - 3600);
  setcookie("C_password", '', time() - 3600);

}

echo "<script>alert('".$_COOKIE["C_username"]."');</script>" ; //Here the cookie value is found.

header( 'Location: ../index.php');
?>

在浏览器重新加载页面之前,cookie不会被清除,因此如果将javascript更改为在浏览器上实际查找cookie,而不是使用PHP(服务器上)版本的cookie,则可能会得到更可预测的结果

还请记住,Cookie和
header()
语句必须在将任何其他数据发送到浏览器之前运行,因此您的代码无论如何都应该生成错误,因为您的
header()
语句在
echo
语句之后

所以试试看

<?php

if (isset($_COOKIE['C_username'])) {
  setcookie("C_username", '', time() - 3600);
  setcookie("C_password", '', time() - 3600);
  header( 'Location: ../index.php');
  exit;
}

echo '<script>alert(document.cookie);</script>";    

?>

我尝试不使用setcookie行。但是没有用,因为我看到你正在使用cookies作为登录系统,cookies有一种挥之不去的方式。我建议不要这样做,因为安全问题(很容易被黑客攻击)。会话更安全、更易于管理(例如,
session\u destroy()
)一些关于-功能的阅读材料我强烈建议您阅读一些有关cookie和会话的内容,并确保您确实想要/需要使用cookie。部分内容如下:-