本身寫的一個php利用cookie記錄瀏覽(商品)歷史記錄的函數

/*author: limo
*update:2013-10-17
*
*瀏覽歷史記錄
*param $num int 記錄條數 默認10條 提示:cookie存數據大小有限制,通常爲4K
*param $day int 記錄保存時間 默認7天
*param $idstr string 商品id,分類 等等參數值 如cid,id參數值以處‘|’外的其餘字符分割
*return datastr string 信息id數據字符串
*/ php

function RecentViews($num=10,$day=7,$idstr)

 $id = isset($id) ? $id : 0;
 if(isset($_COOKIE['views']))
 { 
  //直接替換
  if($num==1)
  { 
   setcookie("views",$id,time()+3600*$day);
   $datastr = $_COOKIE['views'];
  }
  else
  { 
   $datastr = $_COOKIE['views'];
   $ids = explode('|',$datastr);
   //在限定記錄數之內
   if(count($ids )< $num){
    //id是否已經存在
    if(!in_array($id,$ids)){
     $datastr .= '|'.$id;
     setcookie("views",$datastr,time()+3600*$day);
    }
   }
   else
   {
    if(!in_array($id,$ids))
    {
     $datastr = str_replace($ids[0].'|','',$datastr);
     $datastr .= '|'.$id;
     setcookie("views",$datastr,time()+3600*$day);
    }
   }
   
  }
 }
 else
 {
  setcookie("views",$id,time()+3600*$day);
  //php的cookie不會及時生效 直接訪問報錯 須要刷新一次
  @$datastr = $_COOKIE['views'];
 }
 return $datastr;
} cookie

相關文章
相關標籤/搜索