Чат Telegram
Группа ВКонтакте
Новый комментарий


1nSide 03.05.2018 в 10:47

Значения время выставляю на 0 работает на 20 не работает


setcookie('login' , 'admin' , 20 , '/');
setcookie('Password' , '123' , 20 , '/');
echo 'Cookie отработало';
1nSide 03.05.2018 в 10:48

хотя во вкладке сеткуки пишется что присутствуют
Set-Cookie: login=admin; expires=Thu, 01-Jan-1970 00:00:20 GMT; Max-Age=0; path=/
Set-Cookie: Password=123; expires=Thu, 01-Jan-1970 00:00:20 GMT; Max-Age=0; path=/

ivashkevich 03.05.2018 в 18:31

Всё правильно, куки действительно устаревают спустя 20 секунд от момента начала эпохи unix. Я же не просто так просил ознакомиться с документацией. Почитайте внимательно про параметр expire :)

dom1r 14.08.2018 в 19:20

Не знаю как лучше так:

setcookie('login', 'admin', time() + 20, '/');

Или так:

$ttl = time() + 20;
setcookie('login', 'admin', $ttl, '/');
ivashkevich 14.08.2018 в 20:48

Хоть как =) Понятно и так и так.

Kostik04 30.08.2018 в 12:03

Сделал всё, как вы сказали, но всё равно выдаёт ошибку Warning: Cannot modify header information - headers already sent by (output started at W:\domains\myproject.loc\www\primer_2.php:1) in W:\domains\myproject.loc\www\primer_2.php on line 2
Вот мой код:

<?php
setcookie('login', 'admin', 0, '/');
ivashkevich 01.09.2018 в 13:27

Значит что-то выводится перед тем, как вызывается эта функция.

Kostik04 01.09.2018 в 13:38

Спасибо большое, оказывается кодировка была не UTF-8.

ArtemijeKA 07.09.2018 в 13:42

А почему вашему сайту доступны все мои куки(yandex, mail, vk)? Когда как скажем сайту youtube доступны только youtube.com и googe.com куки?

ivashkevich 07.09.2018 в 21:46

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

ArtemijeKA 10.09.2018 в 09:18

Понял, спасибо.

nail_nasyrov@mail.ru 04.10.2018 в 14:27

Выходит уже описанная ошибка

Warning: Cannot modify header information - headers already sent by (output started at W:\domains\myproject.loc\www\index.php:1) in W:\domains\myproject.loc\www\index.php on line 3

код

<?php

setcookie('login1', 'admin1', 0, '/');

//var_dump($_COOKIE);

?>

нашел решение
output_buffering = on

demyanovpaul@yandex.ru 05.11.2018 в 12:46

Укажите параметр $ttl в функции setcookie равным 20.

setcookie('cooks', 'kakay-to stroka', time() + 20);

Все проверил, отработало через 20 секунд умерла.

ivashkevich 05.11.2018 в 21:41

Отлично)

virtual2018 21.11.2018 в 17:03

В документации третий параметр setcookie($name, $value, $ttl, $path), называется $expire.
"Если указать 0, то cookie будет установлена навсегда (пока её не удалят)" - в документации:
"Если задать 0 или пропустить этот аргумент, срок действия cookie истечет с окончанием сессии (при закрытии браузера)" - не противоречит, но дополняет.

ivashkevich 22.11.2018 в 09:35

Угу, при этом в современных браузерах понятие "сессии" у каждого своё =)

Pavel-Tonk 04.12.2018 в 01:05

В файле setCookie установил

<?php
setcookie('login','admin',time()+20,'');

В файле getCookie сделал вывод

<?php
var_dump($_COOKIE);

сколько не перезагружаю cookie живы и выводятся, в чем ошибся? в Expires 2018-12-03T22:04:59.363Z
время по серверу 01:01:22 04.12.2018 (date('H:i:s d.m.Y');)

ivashkevich 04.12.2018 в 09:12

Потому что этот срок действия для браузера, а не для сервера. Когда подойдет это время на компе пользователя, они удалятся из браузера.

Pavel-Tonk 04.12.2018 в 22:49

01:01:22 04.12.2018 Так это время у меня и было по факту, а это уже прошло 2018-12-03T22:04:59.363 3 часа назад.

ivashkevich 04.12.2018 в 23:20

Смотрите наличие куки в браузере (загуглите как). Если они там есть, значит не протухли.

Bogdan 17.12.2018 в 14:40

вроде поставил, но я так понял что они в куки даже не попадают,ну по крайней мере когда я делаю вывод куки, то у меня ничего не отображает, хотя даже 20 сек не прошло. но в setCookies в нетворке пишет Set-Cookie: login=admin; expires=Thu, 01-Jan-1970 00:00:20 GMT; Max-Age=0; path=/
Set-Cookie: Password=123; expires=Thu, 01-Jan-1970 00:00:20 GMT; Max-Age=0; path=/
так что думаю что все отработало верно

ivashkevich 17.12.2018 в 15:29

Потому что вместо 20 нужно написать time() + 20

excent63 27.01.2019 в 17:32

Спасибо за урок!

<?php
setcookie('login','admin', time()+20,'/');
ivashkevich 29.01.2019 в 07:07

Пожалуйста)

Moskva 01.06.2019 в 15:00

Код:

setcookie('login', 'admin', time()+20 , '/');
setcookie('password', '12345', time()+20 , '/');
echo 'Куки успешно установлены';
ivashkevich 03.06.2019 в 18:08

Отлично

H3licoptero 03.10.2019 в 22:07
setcookie('login', 'admin', time() +20, '/');
setcookie('password', '123', time() -20, '/');
echo 'Cookie установлены.';

Отработала 20 сек и умерла. Второй вариант попробовал, потому что кука висела после урока в браузере. Установил с '-', удалилась.

ivashkevich 04.10.2019 в 14:25

Ок

mtuspeh@gmail.com 19.11.2019 в 21:44

Спасибо большое за понятную статью!

ivashkevich 20.11.2019 в 16:30

Пожалуйста)

mixail_vasilev_07@mail.ru 26.11.2019 в 20:45

Почему при выполнении это кода выдаёт, что масив пустой

array(0) { }???

Файл COOKIE

<?php
var_dump($_COOKIE);

Файл setcookie

<?php
setcookie('login', 'admin', time() +20 , '/');
ivashkevich 27.11.2019 в 19:56

Может 20 секунд успевает пройти?

Логические задачи с собеседований