Возможно ли добавить ценность к существующему куки в PHP? - PullRequest
0 голосов
/ 27 ноября 2009

У меня есть сайт объявлений, и на главной странице я хочу, чтобы последний посетитель показывал объявления существующего пользователя.

Как бы я это сделал?

По сути, это должно быть примерно так:

  1. Пользователь нажимает на объявление.
  2. Идентификатор объявления сохраняется в файле cookie.
  3. Затем, при нажатии на другое объявление, этот идентификатор объявления также сохраняется.
  4. Затем при каждом посещении главной страницы эти объявления будут отображаться путем извлечения идентификаторов AD из файла cookie.

Можно ли даже добавить значения в существующий файл cookie?

Ответы [ 3 ]

5 голосов
/ 27 ноября 2009

Cookies в основном работают следующим образом: чтобы установить cookie, сервер отправляет свое имя и значение клиенту с HTTP-заголовком в любом HTTP-ответе. После этого клиент будет отправлять этот ключ и значение в виде заголовка HTTP при каждом запросе к этому серверу.

Таким образом, чтобы «добавить» значение в файл cookie, все, что вам нужно сделать, это прочитать текущее значение, которое было отправлено вам с текущим запросом, добавить новые данные и установить результат как файл cookie с тот же ключ в вашем ответе.

2 голосов
/ 27 ноября 2009

вы можете использовать оператор конкатенации строк:

setcookie('ad_ids', $_COOKIE['ad_ids'] . ';'.$new_id);
0 голосов
/ 27 ноября 2009

Использовать массив просмотренных объявлений:

$arr = array('1', '2', '3');

setcookie('viewedads', serialize($arr), time()+10000, '/');

тогда, если вы хотите добавить больше объявлений:

$arr = unserialize($_COOKIE['viewedads']);
//new add
$arr[] = '4';

setcookie('viewedads', serialize($arr), time()+10000, '/');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...