2009-11-27 3 views
0

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

Как мне это сделать?

В принципе, это должно быть что-то вроде этого:

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

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

ответ

5

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

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

0

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

$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, '/'); 
2

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

setcookie('ad_ids', $_COOKIE['ad_ids'] . ';'.$new_id); 
+0

ARE YOU что письмо в $ _COOKIE действительно отправляет cookie клиенту? –

+0

теперь вы упоминаете это ... – knittl

Смежные вопросы