PHP Cookei记录用户历史浏览信息的代码

【基础】
Cookie常用方法:
$_COOKIE[‘RecordLuHuiDUDU'] 得到Cookie
setcookie(‘RecordLuHuiDUDU',”,time()-3600*24*30); setcookie(字段名,数据,过期时间); 设置Cookie
【注意】
重新设置Cookie需要使之前的Cookie失效,删除Cookie也是同样的方法:
setcookie(‘RecordLuHuiDUDU',”,time()-3600*24*30);
【代码示例】

/**
* 将用品id存入Cookie中
*
* @param $id
* @return bool
*/
public function setCookieRecord($id){
$data = null;
if(!isset($_COOKIE['RecordLuHuiDUDU'])){
if(!empty($id)) {
$data[0] = array(
'id' = $id,
'time' = date('Y-m-d H:i:s', time())
);
}else{
return false;
}
}else{
if(!empty($id)) {
$data = $_COOKIE['RecordLuHuiDUDU'];
setcookie('RecordLuHuiDUDU','',time()-3600*24*30);
$data = json_decode($data, true);
$num = count($data);
//判断是否重复
$judge = false;
foreach($data as $index => $value){
if($data[$index]['id'] == $id){
$data[$index]['time'] = date('Y-m-d H:i:s', time());
$judge = true;
}
}

if($judge){
setcookie('RecordLuHuiDUDU',json_encode($data),time()+3600*24*30);
return true;
}

if($num == 10){
for($i = 0; $i < 9; $i++){ $data[$i] = $data[$i+1]; } $data[9] = array( 'id' => $id,
'time' => date('Y-m-d H:i:s', time())
);
}
if($num <10){ $data[$num] = array( 'id' => $id,
'time' => date('Y-m-d H:i:s', time())
);
}else {
return false;
}
}
}
setcookie('RecordLuHuiDUDU',json_encode($data),time()+3600*24*30);
return true;
}
posted @ 2016-12-31 10:48  HongEternity  阅读(698)  评论(0编辑  收藏  举报