У меня есть этот код, который настроен при проверке входа в систему:
if((isset($_POST["remember_me"]))&&($_POST["remember_me"]==1)) { setcookie('email', $username, time()+3600); setcookie('pass', $pass, time()+3600); }
Теперь, когда я нажимаю на ссылку выхода (logout.php), я сделал это:
<?php session_start(); setcookie("email", '', 1, ""); setcookie("pass", '', 1, ""); $_SESSION["login"] = ""; header("location: aforum/enter_furom.php"); ?>
Я не использовал сеанс уничтожения, потому что я не хочу уничтожать все сеансы …. теперь уничтожение сеанса отлично работает … но когда я пытаюсь отключить куки, браузеры (все браузеры: проводник, хром, firefox , mozilla), дайте мне ошибку, говоря, что новые cookie не могут быть установлены … любая помощь для отмены вышеуказанных файлов cookie?
либо используйте _COOKIE
переменную _COOKIE
:
unset($_COOKIE['mycookiename']);
или вызовите setcookie()
только с именем cookie
setcookie('mycookiename');
Чтобы сбросить файлы cookie при выходе из системы, используйте:
setcookie('pass'); setcookie('email');
Для входа в систему:
if( isset($_POST["remember_me"]) && $_POST["remember_me"]==1 && $_COOKIE['pass'] != NULL && $_COOKIE['email'] != NULL && )
setcookie('cookiename', '', time()-3600);
Проверьте в своем браузере каталог, в котором работает файл cookie. И отключите его, указав путь, который имеет файл cookie. Как в примере, если в каталоге cookie есть /aforum/
setcookie ("email","",time()-1,"/aforum/","http:// yourdomain.com");
Чтобы отключить файлы cookie в PHP, просто установите время их истечения в прошлое. Например:
$expire = time() - 300; setcookie("email", '', $expire); setcookie("pass", '', $expire);
В Chrome и IE8 +, по крайней мере, следующие файлы будут удалены из браузера. Он не будет отображаться в массиве $_COOKIE
до тех пор, пока страница не будет перезагружена.
setcookie('cookiename','',0,'/',$cookieDomain)
вы можете оставить здесь несколько параметров, но важно то, что вы устанавливаете пустую строку и удаляет куки из браузера.
Вам нужно установить время истечения срока действия в прошлом, например
setcookie('email', '', time()-3600);
Также вы должны использовать Absolute URI
для своего header('Location:' ....)
.
попробуй это
setcookie ("email", "", time() - 3600); setcookie ("pass", "", time() - 3600);