$NameSite?>

Не удаляются куки

почему, после того, как создать куку и если нажать на выход, то кука не удаляется?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 error_reporting(-1); header('Content-Type: text/html; char set=utf-8'); ini_set('display_errors', 'On'); if(isset($_POST['login']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && ($_POST['password'])){ setcookie($_POST['login'], $_POST['email'], time()+3600*24*30, '/'); echo 'Ваш Логин: ' . $_POST['login'] . '
'
; echo 'Ваш Email: ' . $_POST['email'] . '
'
; echo 'Ваш Пароль: ' . $_POST['password'] . '
'
; echo ' '; if(isset($_POST['exit'])){ unset($_COOKIE[$_POST['login']]); } } ?> div class="login" style="border: 1px solid; width: 220px; clear: both; overflow: hidden"> p style="text-align: center;">Входp> form action="" method="post"> div style="clear: both;"> span style="float: left">Логин:span> input type="text" name="login" style="float: right; width: 150px;"> div> div style="clear: both;"> span style="float: left">Email:span> input type="text" name="email" style="float: right; width: 150px;"> div> div style="clear: both;"> span style="float: left">Пароль:span> input type="text" name="password" style="float: right; width: 150px;"> div> div style="margin-top: 30px; overflow: hidden"> input type="submit" value="Войти" style="float: right;"> div> form> div>

Куки не удаляются
Добрый день. Пишу корзину для интернет магазина на куках. Куки хранятся в таком виде: .

Куки не удаляются
Привет, у меня не удаляются куки таким методом: <?php setcookie("ID", null, -1);.

Не удаляются куки
Здравствуйте, подскажите, почему я не могу удалить куки? В файле index.php я устанавливаю куку.

Не удаляются куки
На сайте аутентификация по кукам. И вот этот код почему-то их не удаляет. setcookie("login", "".

Эксперт PHP

Я улучшил код и не знаю, как сделать проверку для удаления кук

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
 error_reporting(-1); header('Content-Type: text/html; char set=utf-8'); ini_set('display_errors', 'On'); $login = ''; $email = ''; $pass = ''; session_start(); if(isset($_POST['login']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && ($_POST['password'])){ setcookie($_POST['login'], $_POST['email'], time()+3600*24*30, '/'); $login = 'Ваш Логин: ' . $_POST['login'] . '
'
; $email = 'Ваш Email: ' . $_POST['email'] . '
'
; $pass = 'Ваш Пароль: ' . $_POST['password'] . '
'
; } ?> html> head> title>Авторизацияtitle> head> body> echo $login; echo $email; echo $pass; if(!empty($login) && ($email) && ($pass)){ echo ' '; if(isset($_POST['exit'])){ setcookie($_POST['login'], "", time() - 3600, '/'); } } ?> div class="login" style="border: 1px solid; width: 220px; clear: both; overflow: hidden"> p style="text-align: center;">Входp> form action="" method="post"> div style="clear: both;"> span style="float: left">Логин:span> input type="text" name="login" style="float: right; width: 150px;"> div> div style="clear: both;"> span style="float: left">Email:span> input type="text" name="email" style="float: right; width: 150px;"> div> div style="clear: both;"> span style="float: left">Пароль:span> input type="text" name="password" style="float: right; width: 150px;"> div> div style="margin-top: 30px; overflow: hidden"> input type="submit" value="Войти" style="float: right;"> div> form> div> body> html>

Источник

Добрый день. Подскажите пожалуйста почему unset действует только в начале кода. Если написать в конце, счетчик будет продолжать работать. И почему кстати при использовании unset, cookie остается а не удаляется.

//unset($_COOKIE["count"]); $count = (isset($_COOKIE["count"])) ? $_COOKIE["count"] : 0; $count++; setcookie("count", $count); echo $count; unset($_COOKIE["count"]);

Почему Cookie в куки заносится значение, а в другом файле Cookie пуста?
Здравствуйте подскажите что я не так делаю все вроде по примерам да ошибок как токавых нет.. но не.

cookie
1-ая Страница: Форма загрузки изображений на сайт. Затем когда пользователь загрузил изображение.

Cookie
Всем привет) С помощью кук передаю код на новую вкладку и преобразую в pdf. Все отлично.

Cookie
Сломал всю голову. Не понимаю почему не задаются cookie. Вот код: <html> <head> <meta.

Источник

Форум PHP программистов ► PHP практикум ► PHP ?

Сообщений: 145
Пользователь №: 30053
На форуме:
Карма:

Не пью :
14 лет, 3 месяца, 9 дней

Доброе время суток всем, я знаю как вы все меня ненавидете за мои тупые вопросы)) 🙂
Подскажите пожалуйста, почему у меня не удаляются куки . что я делаю не так?
index. php

php
include «config.php«; //подключаем базу
?>
php

if($_SESSION[’email’] && $_SESSION[‘pass’])//проверяем сессию
include_once(‘login.php);
exit;
>
if($_COOKIE[’email’] || $_COOKIE[‘password’] )//проверяем куки если есть то
//записываем в сессию

$_SESSION[’email’]=$_COOKIE[’email’];
$_SESSION[‘pass’]=$_COOKIE[‘password’];
include_once(‘login.php);
exit;
>
?>//если ни одно из условий не прошло то загружаем страницу

 html>


http-equiv="Content-Type" content="text/html; charset=windows-1251" />

type='text/css' rel='stylesheet' href='css/style.css'/>
type="text/javascript" src="js/java.js">

action="login.php" method="post" name="r1">
class="zag">Вход на сайт
cellpadding="0" cellspacing="0">


Email:
type="text" name="UEmail" class="text" />

Пароль:
type="password" name="UPass" class="text" />

colspan="2"> type="checkbox" name="cookie" value="1" class="check"/> class="z1">Запомнить?

colspan="2" align="center"> type="submit" value="Вход" class="bottom" id="vhBott" />

colspan="2" align="center"> href="reg.php" class="s1">Регистрация

php
include "config.php";//база
?>
php

$UEmail = trim($_POST['UEmail']);//проверка мыла на пробелы
$UPass = md5($_POST['UPass']);//шифруем пароль

if($_SESSION['email'] && $_SESSION['pass'])//если есть ссесия то загружаем с неё данные в переменные
$UEmail=$_SESSION['email'];
$UPass=$_SESSION['pass'];
>
if(!$_SESSION['email'] || !$_SESSION['pass'])//если сесии нет ты отправляем назад
header('Location: index.php');
>

if($UEmail == '' || $UPass == '')//Если не заплнены поля
$reg = 2;
header('Location: index.php?reg='.$reg);
exit;
>
$_SESSION['email']=$UEmail;//запись мыла в сесию
$_SESSION['pass']=$UPass;//запись пароля в сесию

if($_POST['cookie']==1)//если стаит чек бокс то запоминаем куки
setcookie("email",$UEmail,time()+3600*24*7);
setcookie("password",$UPass,time()+3600*24*7);
>
 href="index.php?exit=del">Выход //выходим
php
if($_GET['exit']==del)//ну тут всё понятно
if($_COOKIE['email'] || $_COOKIE['password'] )//вытираем куки если они есть
setcookie("email","", time()-3600);
setcookie("password","", time()-3600);
>
session_destroy();//выходим с сессии

echo "
setTimeout(
\"location.replace ('index.php')\", 1000);//отпровляем назад
//--> "
;
>;
?>

Проблема в том что при нажатии выход в файле login. php не стирает куки в чем тут проблема, подскажите плыз?(

Источник

Поэтому я попробовал несколько других «решений» своей проблемы (как на этом сайте, так и на других) и не могу найти решение, которое работает для меня.

Я пытаюсь установить cookie для входа в систему моего пользователя, а затем при выходе удалить этот cookie. Вот мой код

list ($check, $data) = check_login($dbc, $_POST['Username'], $_POST['Password']); if ($check) < setcookie('Username', $data['Username'], time() + 60*60*24*90); header('Location: RedirectPage.php'); 

Который проверяет, что имя пользователя и пароль были введены в форму входа в систему (и приняты). Если это так, файл cookie «Имя пользователя» устанавливается с именем пользователя, полученным из базы данных, и временем, равным 90 дням, и затем пользователь перенаправляется ,

Эта часть работает нормально, она регистрирует пользователя, как и следовало ожидать.

header('Refresh: 0;'); setcookie('Username', '', time() - 60*60*24*90); unset($_COOKIE['Username']); require ('RedirectPage.php'); redirect_user(); 

Я удаляю cookie таким же образом, как он был установлен, как и ожидалось, удаляя любые данные и устанавливая время в отрицательное значение, а затем для хорошей меры я запускаю неустановленный cookie, чтобы убедиться, что он исчез.

За исключением того, что это не работает. setcookie (для удаления) ничего не делает, а unset cookie работает только на странице после того, как он был запущен (в данном случае index.php), и как только я нажимаю на другую страницу или обновляю страницу, которую он «забывает» что cookie был удален.

Теперь перейдем к элементу проверки Chrome, чтобы проверить куки, которые я получаю.

Username, "Value" (the withdrawn username), r3gamers.com (domain), / (path), 2015-02-03T13:45:00 (Expires/MaxAge), 19 (Size) and HTTP and Secure are both set as empty. 

Наблюдая за процессом после нажатия кнопки выхода, этот файл cookie никогда не удаляется. Единственное, что действительно может удалить cookie — это перезаписать его новым cookie (войти снова) или удалить его с помощью элемента inspect.

Есть идеи? Насколько я знаю, я делаю все, что должно быть сделано.

РЕДАКТИРОВАТЬ:
Я также хотел бы отметить, что при тестировании на локальном хосте, в автономном режиме через netbeans, эта функция работает. Однако, когда я загружаю страницы в Godaddy для моего сайта, они перестают работать должным образом.

Решение

Я нашел ответ. Это тоже глупый ответ. Вот файл полного кода, который я использовал для выхода из системы.

Проблема, которую я не могу показать здесь, заключалась в том, что у открывающего тега php был один разрыв строки, то есть он начинался со строки 2. Почему изначально так было, я не знаю, но эта маленькая ошибка означала что это работает на localhost и не работает на godaddy. Как расстраивает. По крайней мере, я исправил проблему сейчас.

Для будущего использования, для тех, кто застрял с той же проблемой, очевидно, что godaddy (или большинство хостинговых сайтов) требуют, чтобы любое добавление, редактирование или удаление файлов cookie происходило со строки 1 и далее, поэтому тег php, который включает файл cookie, должен находиться в строке 1, нет HTML-код может предшествовать этому тегу php, или любые разрывы строк, тег php должен начинаться со строки 1.

Другие решения

Вы не устанавливаете путь к вашему куки, я предполагаю, что вы хотите, чтобы он был для всего сайта, поэтому вы должны установить путь к ‘/’:

setcookie('Username', $data['Username'], time() + 60*60*24*90, '/');

А затем, когда отключите его, попробуйте использовать 1 вместо time() - 60*60*24*90 (также по-прежнему указывается путь), в противном случае время истечения срока действия куки может варьироваться в зависимости от часов компьютера пользователя:

Я думаю, что ваша проблема на самом деле заключается в том, что путь не установлен: http://php.net/manual/en/function.setcookie.php

Если установлено значение «/», файл cookie будет доступен во всем домене. Если установлено значение «/ foo /», файл cookie будет доступен только в каталоге / foo / и во всех его подкаталогах, таких как / foo / bar / домена. Значением по умолчанию является текущий каталог, в котором устанавливается cookie.

Дело в том, что если вы находитесь в /logout/doit.php и пытаетесь установить время истечения срока действия cookie на отрицательное значение, оно создаст новый файл cookie с путем ‘/ logout /’ и установит время его истечения. (Вместо того, чтобы устанавливать срок действия файла cookie вашего сайта)

Источник

Читайте также:  Где пишется код css
Оцените статью