[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: изучение COOKIE
Reh
Всем доброе утро! Всех присутствующих девушек с праздником!
Сейчас пытаюсь понять работу COOKIE, но не понимаю почему на одной странице
echo $_COOKIE['user_id'] . ".";
работает, а на любой другой значение ноль. Подскажите пожалуйста.
N0ob
Все просто. Здесь ты просто выводишь определенную куку и присоеденяешь ей точку. Даже если ты сделаешь так:
$_COOKIE['user_id'] = $_COOKIE['user_id'] . ".";

То значение $_COOKIE['user_id'], на этой странице измениться(только на этой), а значение записанной в браузере куке ничего не будет. То есть получается PHP, при загрузке страницы, берет все куки из браузера, записывает их значения в массив $_COOKIE, и ты работаешь не с самой кукой, а с их значениями. Что бы изменить значение кукb, нужно её перезаписать:
setcookie("user_id", $_COOKIE['user_id'].".", time()+3600*24);

Вот допустим ты перезаписал куку, но перезапишется она после того, как ты зайдешь на другую страницу или обновишь текущую. Теперь вопрос у тебя возникнет: А как мне использовать перезаписанную куку на странице без перезагрузки? Все просто:
setcookie("user_id", $_COOKIE['user_id'].".", time()+3600*24);
$_COOKIE['user_id'] = $_COOKIE['user_id'] . ".";
echo $_COOKIE['user_id']
Reh
N0ob, я наверное запутал этой точкой( Я ее приписал чтобы понять где данные должны вывестись. Потому что без нее вообще пустота. То что ты написал, я понял, огромное спасибо, очень доступно! Но есть еще момент непонятный мне.
Куки хранятся в браузере, вот так мы смотрим их значения записанные в массив
echo $_COOKIE['user_id'];
. Или я ошибаюсь? Почему на одной странице значение
echo $_COOKIE['user_id'];
45, а на другой ноль? Ведь куку то я не удалял и не перезаписывал.
SDV
http://ru2.php.net/manual/ru/function.setcookie.php

path
Путь к директории на сервере, из которой будут доступны cookie. Если задать '/', cookie будут доступны во всем домене domain. Если задать '/foo/', cookie будут доступны только из директории /foo/ и всех ее поддиректорий (например, /foo/bar/) домена domain. По умолчанию значением является текущая директория, в которой cookie устанавливается.
domain
Домен, которому доступны cookie. Задание домена 'www.example.com' сделает cookie доступными в поддомене www и поддоменах более высоких порядков. Cookie доступные низким уровням, таким как 'example.com', будут доступны во всех поддоменах высших уровней, с том числе 'www.example.com'. Старые броузеры, следующие устаревшим нормативам » RFC 2109, могут требовать . перед доменом, чтобы включались все поддомены.
Reh
SDV, спасибо большое!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.