Удалить PHP Cookie?

В настоящее время у меня есть набор файлов cookie:

setcookie("username",$username,time()+3600*24*5); 

Как я могу очистить значение этого файла cookie, чтобы пользовательское имя пользователя больше не заполнялось?

Я его очистил следующим образом:

 setcookie("username","",time()-60000); 

Однако пользовательское имя пользователя все же появляется.

Форма HTML:

 <?php session_start(); $username = NULL; $password = NULL; if(isset($_SESSION['username'])){ $username = $_COOKIE['username']; $password = $_COOKIE['password']; } ?> <html> <title>Login</title> <body bgcolor='#000000'> <font color="white"> <H2><div align='center'>Login</div></H2> <form align='center' action='login.php' method='POST'> Username: <input type='text' name='username' value='<?$_COOKIE['username']?>'><br \> Password: <input type='password' name='password' value='<?$password?>'><br \> Remember Me <input type='checkbox' name='remember' value='rememberme'><br \> <input type='submit' value='Login'> </form> </font> </body> </html> 

Сценарий PHP для обработки формы:

 <?php session_start(); $username = $_POST['username']; $password = $_POST['password']; //Hash password in a new variable $password2 = md5($password); require_once "/home/a7435766/public_html/scripts/dbconnect.php"; $query = mysql_query("SELECT * FROM userstwo WHERE username = '$username' && password = '$password2'"); if((mysql_num_rows($query)) != 0) { //Store username and password in a cookie if($_POST['remember'] == 'rememberme') { setcookie("username",$username,time()+3600*24*5,'','.ohjustthatguy.com'); setcookie("password",$password,time()+3600*24*2,'','.ohjustthatguy.com'); } else { setcookie("username","",time()-10,'','.ohjustthatguy.com'); setcookie("password","",time()-10,'','.ohjustthatguy.com'); } $_SESSION['username'] = $username; header('Location: http://www.ohjustthatguy.com/uploads/uploads.html'); } else { header('Location: http://www.ohjustthatguy.com/uploads/'); } ?> 

Исходные источники на пастебине

  • http://pastebin.com/8XtqV1PP
  • http://pastebin.com/7GvQ9wRa

Related of "Удалить PHP Cookie?"

Убедитесь, что вы удалили файл cookie с тем же именем и контентом, с которым вы его установили. Куки-файлы для example.com и http://www.example.com будут рассматриваться как два разных файла cookie. Аналогично, файлы cookie, установленные в example.com и example.com/Support, будут иметь разные пути. Хорошей практикой является использование .example.com в качестве домена и '/' в качестве пути для файлов cookie с именем пользователя, чтобы они могли совместно использоваться и в ваших поддоменах.

Чтобы отладить это, вы можете использовать плагин FireCookie для Firefox, который отобразит всю эту информацию.

Устанавливая срок его действия в течение некоторого времени в прошлом, следует очистить его:

 setcookie("username",$username,time()-10); 

Если вы используете сеансы PHP для управления пользователями, вы, вероятно, также захотите использовать session_destroy()

Вы действительно не должны хранить ваш пароль пользователей в cookie, особенно если вы не используете HTTPS! Пароль будет отправлен в открытом виде по сети для каждого запроса! Кроме того, никогда не отправляйте пользователю пароль, это хорошая идея.