php怎么实现浏览记录

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么实现浏览记录?

php实现历史浏览记录

其实原理很简单,就是利用cookie,实现记录,其中需要注意的点就是,设置一下,你需要保存的cookie长度,记录时间,下面是ci框架的基本实现

如有更加好的思路实现,欢迎评论讨论。


public function set_cookie_history($type,$id){
 
    //设置初始数据
    $set_limit = 5; //浏览记录的容量限制
 
    //初始数据过滤
    if(!in_array($type,['as','ps'])){
        return false;
    }
 
    //获取cookie记录
    $string = $type.$id;
    $history_array = unserialize($_COOKIE['cookie_history']);
    if(!$history_array)
        $history_array = [];
 
    //浏览记录存在
    if(in_array($string,$history_array)){
        unset($history_array[array_search($string , $history_array)]); //删除存在
        array_unshift($history_array,$string);//重新放在第一个
 
    //浏览记录不存在
    }else{
 
        //没有超过记录的容量限制,直接放在第一个
        if(count($history_array)<$set_limit){
            array_unshift($history_array,$string);
 
        //超过记录的容量限制,删除最后一个,然后放在第一个
        }else{
            array_pop($history_array);
            array_unshift($history_array,$string);
        }
    }
 
    //将浏览数组序列化后写入cookie
    $expire_time = 3600 * 24 * 30; //过期时间
    $cookie_domain = $this->config->item('cookie_domain');
    $history_array = serialize($history_array);
    setcookie('cookie_history', $history_array, time()+$expire_time, '/', $cookie_domain);
 
}

  上面是实现cookie的记录功能,下面是进行读取cookie记录方法:


public function get_cookie_history(){
    //设置初始返回数据
    $return_data = [];
 
    //获取cookie记录
    $history_array = unserialize($_COOKIE['cookie_history']);
    if(!$history_array)
        return $return_data;
 
    if($history_array){
        foreach($history_array as $k=>$v){
 
            //切割判断是否是as类型
            $as_temp = explode('as',$v);
            if($as_temp && $as_temp[1]){
                //这里写,你要查询的sql语句
                $sql = "select field1,field2 from table_test1 where id={$as_temp[1]}";
                $res = $this->db->query($sql)->row_array();
                if($res)
                    $return_data[] = ['type' => 'as','data' => $res];
            }
 
            //切割判断是否是ps类型
            $ps_temp = explode('ps',$v);
            if($ps_temp && $ps_temp[1]){
                //这里写,你要查询的sql语句
                $sql = "select field1,field2 from table_test2 where id={$as_temp[1]}";
                $res = $this->db->query($sql)->row_array();
                if($res)
                    $return_data[] = ['type' => 'ps','data' => $res];
            }
        }
        return $return_data;
    }
 
    //非法获取数据,直接返回
    return $return_data;
}

--结束END--

本文标题: php怎么实现浏览记录

本文链接: https://www.lsjlt.com/news/490.html (转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢

  • php怎么实现浏览记录

    php实现浏览记录的方法:1、设置初始数据;2、获取cookie记录;3、判断浏览记录是否存在;4、将浏览数组序列化后写入cookie;5、读取cookie记录即可。
    阅读数:720 php
  • php怎么实现单篇文章浏览计数

    php实现单篇文章浏览计数的方法:1、创建一个php示例文件;2、通过“$_SERVER['REMOTE_ADDR'];”获取ip;3、通过“if(mysql_num_rows($query) > 0){...}”循环对比数据表中储存的IP,如果IP存在则不再记录即可。
    阅读数:350 php
  • php ajax简单实现网站浏览统计功能

    本篇内容主要讲解“php ajax简单实现网站浏览统计功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php ajax简单实现网站浏览统计功能”吧!代码如下?php class Contr
    阅读数:571 ajax php
  • php实现记录分页的思路是什么

    php实现记录分页的思路:1、获取结果集中的记录数;2、设置每页显示记录的数量;3、获取总页面数量;4、控制每页显示的记录数;5、通过传递参数的方式通知脚本程序显示的页码即可。
    阅读数:185 php 分页
  • PHP实现读取Excel文件的记录(二)

    在前文中介绍的方法有些麻烦,因为必须要加载很多的文件。本文介绍的方法简单了很多,只需要加载两个文件即可。需要的可以参考一下
  • PHP实现获取MySQL数据库的记录数据

    如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回。最常用的就是获取记录总数和表记录查询结果。本文将为大家介绍如何利用PHP实现获取MySQL数据库的记录数据,需要的可以参考一下
  • php能删除记录图片吗

    php能删除记录图片,其删除方法是:1、创建PHP文件并连接数据库;2、通过“Delete from test1 where id=".$rs['id'];”等语句删除记录图片即可。
    阅读数:711 php
  • php怎么实现telnet

    php实现telnet的方法:1、创建一个PHP示例文件;2、通过“class PHPTelnet {function Connect($server,$user,$pass) {...}}”方式实现telnet功能即可。
    阅读数:240 php telnet
  • php怎么实现翻译

    php实现翻译的方法:1、创建一个PHP示例文件;2、通过有道翻译json格式来显示传值;3、利用PHP自带的函数,抓取URL返回的json数据;4、将json数据转换成对象类的形式即可。
    阅读数:306 php 翻译
  • php怎么实现ping

    php实现ping功能的方法:1、在php.ini中开通exec函数;2、创建一个PHP示例文件;3、通过“function ping_time($ip) {...}”方法实现ping功能即可。
    阅读数:224 php
  • php怎么实现日历

    php实现日历的方法:1、创建一个PHP示例文件并设置编码为utf-8;2、创建table表格;3、通过mktime等函数获取时间日期;4、通过for循环实现日历功能即可。
    阅读数:707 PHP 日历
  • php怎么实现翻页

    php实现翻页的方法:1、查询所有符合条件需要进行分页的总数据,计算展示的总页数;2、获取当前显示的是第几页信息;3、根据限制条件查询出当前页所需显示出来的数据;4、将每一条数据echo替换HTML结构内容中,最后显示出来即可。
    阅读数:580 php 翻页
  • php怎么实现校检

    php实现校检的方法:1、声明“session_start();”函数;2、创建验证码实现的代码;3、在验证码实现之前声明一个空变量,用来存放验证码;4、用POST方式来接收验证码即可。
    阅读数:138 php 校检
  • php怎么实现群发

    php实现群发的方法:1、获取第三方的接口api;2、通过“function http_request($url,$data = null){...}”代码发送请求;3、直接调用第三方的url地址,并根据要求的接口传参数即可。
    阅读数:808 php 群发短信
  • php怎么实现限流

    这篇文章给大家分享的是有关php怎么实现限流的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是接口限流那么什么是限流呢?顾名思义,限流就是限制流量,包括并发的流量和一定时间内的总流量,就像你宽带包了1个G的流量
    阅读数:755 php
  • php如何在浏览器显示

    php在浏览器显示方法:1、安装appserv,找到php中的“www”文件夹。2、点击开始,找到appsev文件,点击“Apache Start”和“Mysql Start”。3、打开Apache服务器后在浏览器中输入:localhost
    阅读数:448 PHP 浏览器
  • php怎么实现微信登录

    php实现微信登录的方法:1、经用户同意授权,获取code;2、通过code换取网页授权access_token;3、获取用户信息。
    阅读数:839 php 微信
  • php怎么实现文字反转

    php实现文字反转的方法:1、使用strrev函数实现反转;2、通过把分割字符串到一个数组中,然后遍历拼接来实现反转;3、利用递归来实现反转。
    阅读数:405 php 反转
  • php怎么实现分页接口

    php实现分页接口的方法:1、接收页数值;2、计算总条数;3、计算偏移量;4、通过“select * from 表名 limit ($offset ,$page)”语句查询每页数据。
    阅读数:517 php
  • php 怎么实现访客次数

    php实现访客次数的方法:1、创建两个数据库表;2、在要进行统计次数的页面上添加代码“$realip=getip();modifyipcount($realip);”即可。
    阅读数:513 php