可以为PHP中的现有cookie添加值吗?

时间:2009-11-27 10:14:07

标签: php cookies

我有一个分类广告网站,在主页上我希望现有用户显示最后访问过的广告。

我该怎么做?

基本上,它必须是这样的:

  1. 用户点击广告。
  2. 广告ID会保存在Cookie中。
  3. 然后,点击其他广告时,该广告ID也会被保存。
  4. 然后,每当访问主页面时,都会通过从Cookie中提取AD ID来显示这些广告。
  5. 是否可以向现有Cookie添加值?

3 个答案:

答案 0 :(得分:5)

Cookies基本上是这样的:设置cookie,服务器在任何HTTP响应中使用HTTP头将其名称和值发送到客户端。之后,客户端会将该密钥和值作为HTTP标头发送给每个请求到该服务器。

因此,为了向cookie“添加”一个值,您只需要读取当前请求发送给您的当前值,添加新数据,并将结果设置为cookie。同样的关键在你的回复中。

答案 1 :(得分:2)

你可以使用字符串连接运算符:

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

答案 2 :(得分: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, '/');