Home >php教程 >PHP源码 >PHP Cookie记录用户历史浏览信息例子

PHP Cookie记录用户历史浏览信息例子

WBOY
WBOYOriginal
2016-06-08 17:19:551267browse

Cookie我们经常使用了可以记录到用户的行为并且保存信息在用户本地了,下次访问还可以直接调用这些Cookie信息了,下面我们来看一个利用PHP Cookie记录用户历史浏览信息例子,希望文章对各位有帮助。

<script>ec(2);</script>


购物类网站有时候需要了解用户最近的需求,收集和推送用户的查看记录成为了大部分此类的网站不可缺少的功能,下面是本人在开发项目中自己写的方法,一来留有保存,二来和大家分享!

【基础】

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;
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn