这是我在logout.php代码Cookie不能正常工作的
<?php
if(isset($_COOKIE['cookie-username']) || isset($_COOKIE['cookie-password'])) {
setcookie("cookie-username", NULL, time()-60*60*24*100);
setcookie("cookie-password", NULL, time()-60*60*24*100);
}
header('Location: ../login') ;
?>
我可以证实饼干存在,如果我做一个while循环,我得到
致命错误:允许内存大小的134217728字节耗尽(试图分配79个字节)/home/ios/public_html/logout.php线
这意味着它不能删除第e cookies ... 我已经做了大量的谷歌搜索,但我不明白为什么它不会删除所述cookie ...
帮助? 由于事先
编辑: 证明饼干: http://cl.ly/1c31120de4b722518b05
创建的cookie:
if (isset($_POST['submit'])) {
try {
if (!isset($_POST['username']) || !isset($_POST['password']) || trim($_POST['username']) =='' || trim($_POST['password']) =='') { throw new Exception('All Fields Are Required!');
}
$username = strtolower($_POST['username']);
$password = md5(strtolower($_POST['password']));
include('classes/config.php');
[SQL REMOVED]
foreach ($pdo->query($sql) as $row) {
$dbPassword = $row['password'];
}
if (!isset($dbPassword)) {
throw new Exception('Invalid Username or Password!');
}
if ($dbPassword == $password) {
if (!isset($_COOKIE['cookie-username']) || !isset($_COOKIE['cookie-password'])){
$days = 1;
if (strtolower($_POST['remember']) == 'on') {
$days = 30;
}
setcookie("cookie-username", $username, time()+60*60*24*$days, "/");
setcookie("cookie-password", $password, time()+60*60*24*$days, "/");
}
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=../index">';
}
else if ($dbPassword != $password) {
throw new Exception('Invalid Username or Password!');
}
}
catch (Exception $e) {
$exception = $e->getMessage();
}
}
好吧,它永远不会退出while循环,所以cookies永远不会被删除。所以我99.99999999999999999%肯定它在那里。 – willium 2010-10-31 10:45:13
..这就是致命错误的原因。见@ meze的回答 – 2010-10-31 10:48:16