Файл cookie php сессии не исчез после закрытия браузера

0

Книга говорит, постоянное сохранение файлов cookie на клиентской машине до истечения срока ее действия. сеанс cookie исчезнет после закрытия браузера.

я попробовал это, например:

setcookie("name", "value");  // before any output

но после закрытия браузера и перезагрузки он все еще существует (от print_r($_COOKIE)).

Я попробовал пару различных браузеров, таких как сафари, хром, firefox, все это так. только затмение отличается :)

так, все текущие браузеры не следуют этому "правилу"? или есть какой-то по умолчанию тайм-аут для cookie сеанса, о котором я не знаю?

Благодарю.

РЕДАКТИРОВАТЬ:

Я проверил в firebug, что он сказал:

Имя Срок действия домена истекает

имя значения localhost session

  • 0
    вам нужно будет проверить свои настройки cookie. ВАШ конкретный php может быть настроен для установки постоянных сеансовых куки. сессионные куки должны быть временными, но это чисто соглашение. ничто не говорит, что кто-то не может установить постоянные сеансовые куки.
  • 0
    Не могли бы вы добавить то, что вы наблюдаете в заголовках панели запроса этих браузеров?
Показать ещё 1 комментарий
Теги:
cookies

5 ответов

0

Спасибо всем. Это моя проблема. Я работаю над macbook, я думал, что щелчок красным крестом закроет браузер. но хотя браузер ушел. на самой верхней части экрана все еще находится панель меню сафари. я должен нажать сафари и выйти из него.

теперь все мои сеансовые куки исчезли после закрытия браузера :)

0

То, что вы на самом деле пытаетесь установить, - это persistent cookie Пакет persistent cookie session cookie или просто session можно просто установить, запустив сеанс или сохранив значение в сеансе, например $_SESSION['name']=$value.

То, что вы делаете, это persistent cookie он не истечет, даже если браузер закрыт. Он истекает только после истечения времени, установленного в cookie.

Как setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); он установит информацию о файлах cookie за 1 день. Даже если браузер закрыт.

Вы можете установить время и информацию о файлах cookie в соответствии с вашими потребностями... "

0

Это потому, что вы настраиваете cookie.

Сессии - это не файлы cookie. Печенье - это не сеансы.

http://www.tuxradar.com/practicalphp/10/1/0

Цитируется с первой страницы:

Cookies могут быть установлены на долгий срок службы, а это значит, что данные, хранящиеся в файле cookie, могут храниться в течение нескольких месяцев, если не лет.

И сеансы, через страницу на сеансах:

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

0

То, что вы там установили, - это не cookie сеанса. После того, как страница загрузится в браузере, проверьте файлы cookie, установленные с вашего сервера (localhost, если это локальная машина), вы увидите файл cookie SESS_ID, который задается сервером, и он запускается при закрытии браузера

0

Проверьте свои настройки PHP для имени, домена и пути cookie сеанса и отключите cookie, используя те же значения, что и setcookie(). Все они могут быть прочитаны с помощью ini_get() и переданы переменным.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню