【发布时间】:2017-09-24 20:29:44
【问题描述】:
我正在尝试将用户搜索存储在 cookie 中,以向用户显示“最近搜索”。表单包含 2 个参数:
- 关键字
- 位置
我可以创建 cookie 没问题,但我无法更新它并存储超过 1 个搜索。 Indeed.co.uk 他们将搜索存储在 Cookie 中,格式如下:
"q=carpenter&l=london&ts=1506177856392:q=bricklayer&l=Southwark&ts=1506008036065:q=labourer&l=Southwark&ts=1506007988029"
如您所见,Indeed 存储多个 UNIQUE 搜索。
我正在使用 PHP,有人知道如何复制 Indeed 存储用户表单搜索的方式吗?我需要将查询作为一个数组。
谢谢
约翰
更新 - 代码尝试:
if (isset($_COOKIE["RS"])) {
// Get cookie value
$new = "key=$keyword&loc=$locationKey:";
//"q=carpenter&l=london&ts=1506177856392:q=bricklayer&l=Southwark&ts=1506008036065:q=labourer&l=Southwark&ts=1506007988029"
$prev_value = $_COOKIE["RS"];
$prev_value = stripslashes($prev_value);
$prev_value = json_decode($prev_value, true);
// Add current value to array and set cookie again
$prev_value = $prev_value."".$new;
$new_value = json_encode($prev_value, true);
setcookie('RS', $new_value, time()+3600);
}else {
// Set cookie to current value
$init_value = "key=$keyword&loc=$locationKey:";
$init_value = json_encode($init_value, true);
setcookie('RS', $init_value, time()+3600);
}
【问题讨论】:
-
你试过什么?
-
Mr Pro Pop - 已尝试代码更新问题
-
那么,您要做的是保存多个值吗?
-
是的,我想保存工作网站的所有独特表单搜索,以便显示“我最近的搜索”
-
Zaaayymn 兄弟!我正在编写代码,但首先是另一个答案。无论如何,确实用冒号分隔它们。加上吉米所说的。
标签: php cookies cookiestore