Maison >php教程 >php手册 >使用cookie记录商品浏览记录

使用cookie记录商品浏览记录

WBOY
WBOYoriginal
2016-06-06 19:32:02917parcourir

使用cookie记录商品浏览记录。最后一个参数可以传递多个参数值,以特殊字符分割。 例如:$ids=RecentViews($num=5,$day=2,($id.,.$cid.,.$mid)); 无 /*author: limo*update:2013-10-17**浏览历史记录 *param$num int 记录条数 默认10条 提示:cookie存数据

使用cookie记录商品浏览记录。最后一个参数可以传递多个参数值,以特殊字符分割。
例如:$ids = RecentViews($num=5,$day=2,($id.','.$cid.','.$mid));
/*author: limo
*update:2013-10-17
*
*浏览历史记录 
*param	$num int 记录条数 默认10条 提示:cookie存数据大小有限制,一般为4K
*param	$day int 记录保存时间 默认7天
*param	$id string 商品id,分类 等等参数值 如cid,id参数值以处‘|’外的其他字符分割
*return datastr string	信息id数据字符串
*/

function RecentViews($num=10,$day=7,$id)
{	
	$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;
}
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn