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

使用cookie记录商品浏览记录

Jun 06, 2016 pm 07:32 PM
cookie 사용 상품 먹다 기록

使用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;
}
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

마그넷 링크 사용 방법 마그넷 링크 사용 방법 Feb 18, 2024 am 10:02 AM

마그넷 링크 사용 방법

mdf 및 mds 파일을 사용하는 방법 mdf 및 mds 파일을 사용하는 방법 Feb 19, 2024 pm 05:36 PM

mdf 및 mds 파일을 사용하는 방법

크리스탈디스크마크란 어떤 소프트웨어인가요? -크리스탈디스크마크는 어떻게 사용하나요? 크리스탈디스크마크란 어떤 소프트웨어인가요? -크리스탈디스크마크는 어떻게 사용하나요? Mar 18, 2024 pm 02:58 PM

크리스탈디스크마크란 어떤 소프트웨어인가요? -크리스탈디스크마크는 어떻게 사용하나요?

핀둬둬에서 구매한 내역은 어디서 확인할 수 있나요? 구매한 내역은 어떻게 확인하나요? 핀둬둬에서 구매한 내역은 어디서 확인할 수 있나요? 구매한 내역은 어떻게 확인하나요? Mar 12, 2024 pm 07:20 PM

핀둬둬에서 구매한 내역은 어디서 확인할 수 있나요? 구매한 내역은 어떻게 확인하나요?

foobar2000을 어떻게 다운로드하나요? - foobar2000 사용법 foobar2000을 어떻게 다운로드하나요? - foobar2000 사용법 Mar 18, 2024 am 10:58 AM

foobar2000을 어떻게 다운로드하나요? - foobar2000 사용법

Baidu Netdisk 앱 사용 방법 Baidu Netdisk 앱 사용 방법 Mar 27, 2024 pm 06:46 PM

Baidu Netdisk 앱 사용 방법

Xiaoai 스피커 사용 방법 Xiaoai 스피커를 휴대폰에 연결하는 방법 Xiaoai 스피커 사용 방법 Xiaoai 스피커를 휴대폰에 연결하는 방법 Feb 22, 2024 pm 05:19 PM

Xiaoai 스피커 사용 방법 Xiaoai 스피커를 휴대폰에 연결하는 방법

NetEase 메일박스 마스터를 사용하는 방법 NetEase 메일박스 마스터를 사용하는 방법 Mar 27, 2024 pm 05:32 PM

NetEase 메일박스 마스터를 사용하는 방법

See all articles