php cookie не обновляется - PullRequest
       36

php cookie не обновляется

1 голос
/ 16 ноября 2011

Мне нужно обновить cookie. Я делаю это в php-файле, который называется через ajax. Это код:

setcookie('items['.$_POST['id'].']');

Файл cookie не обновляется, фактически, если я пишу print_r($_COOKIE['items']) после функции setcookie, я вижу, что $_COOKIE['items'] - это то же самое, что было до вызова функции setcookie. Как я могу это сделать?

Ответы [ 5 ]

3 голосов
/ 16 ноября 2011

Вы не можете установить и получить доступ к cookie в одном экземпляре / странице.Вы должны сделать перенаправление или обновить после настройки it.

Кроме того, вы должны сделать что-то вроде этого:

setcookie("id","items['.{$_POST['id']}.']");
0 голосов
/ 16 ноября 2011

Это синтаксис для установки cookie

setcookie(name, value, expire, path, domain);

Когда вы создаете cookie, используя функцию setcookie, , вы должны указать три аргумента .Эти аргументы являются setcookie (имя, значение, срок действия):

  1. name: имя вашего куки.Вы будете использовать это имя для последующего получения файла cookie, поэтому не забывайте его!
  2. значение: значение, которое хранится в вашем файле cookie.Общие значения: имя пользователя (строка) и последний визит (дата).
  3. срок действия: дата окончания срока действия файла cookie и его удаления.Если вы не установите эту дату истечения срока действия, она будет считаться cookie-файлом сеанса и будет удалена при перезапуске браузера.

Примечание. - При этом ваш файл cookie не будет обновляться.

0 голосов
/ 16 ноября 2011

Необходимо установить значение для доступа к ключу с помощью $_COOKIE:

setcookie('items['.$_POST['id'].']', 'some_value');

Ссылка на руководство

0 голосов
/ 16 ноября 2011

С php.net / manual / function.setcookie.php :

Файлы cookie не будут видны до следующей загрузки страницы, которая печенье должно быть видно для. Чтобы проверить, был ли cookie успешно установите, проверьте наличие cookie на следующей странице загрузки перед cookie истекает. Время истечения устанавливается через параметр истечения. Хороший способ отладить существование куки, просто позвонив print_r ($ _ COOKIE).

Таким образом, файл cookie будет доступен через $_COOKIE по запросу скрипта PHP.

0 голосов
/ 16 ноября 2011

Когда вы используете setcookie, это не добавляет cookie в суперглобальный $_COOKIE.Вам придется сделать это самостоятельно или перезагрузить страницу.Кроме того, поскольку вы устанавливаете cookie с пустым значением, ничего не будет установлено.

...