返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现浏览记录
  • 730
分享到

php怎么实现浏览记录

php 2017-05-26 20:05:03 730人浏览
摘要

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

本文操作环境: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记录即可。 ...
    730
    2023-04-02
    php
  • php怎么实现单篇文章浏览计数
    php实现单篇文章浏览计数的方法:1、创建一个php示例文件;2、通过“$_SERVER['REMOTE_ADDR'];”获取ip;3、通过“if(mysql_num_rows($query) > 0){...}”循环对比数据表中储存的IP,如果IP存在则不再记录即可。 ...
    392
    2023-04-02
    php
  • php ajax简单实现网站浏览统计功能
    本篇内容主要讲解“php ajax简单实现网站浏览统计功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php ajax简单实现网站浏览统计功能”吧!代码如下?php class Contr ...
    581
    2023-04-02
    ajax php
  • php实现记录分页的思路是什么
    php实现记录分页的思路:1、获取结果集中的记录数;2、设置每页显示记录的数量;3、获取总页面数量;4、控制每页显示的记录数;5、通过传递参数的方式通知脚本程序显示的页码即可。 ...
    186
    2023-04-02
    php 分页
  • PHP实现读取Excel文件的记录(二)
    在前文中介绍的方法有些麻烦,因为必须要加载很多的文件。本文介绍的方法简单了很多,只需要加载两个文件即可。需要的可以参考一下 ...
    683
    2023-04-02
    PHP 读取Excel文件记录 PHP 读取Excel记录 PHP 读取Excel
  • PHP实现读取Excel文件的记录(一)
    这篇文章主要介绍了如何利用PHP读取Excel文件的记录,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的可以跟随小编了解一下 ...
    327
    2023-04-02
    PHP 读取Excel文件记录 PHP 读取Excel记录 PHP 读取Excel
  • python解析Chrome浏览器历史浏览记录和收藏夹数据
    大家好,本篇文章主要讲的是python解析Chrome浏览器历史浏览记录和收藏夹数据,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下 ...
    744
    2023-04-02
    使用Python解析Chrome浏览器 使用Python分析谷歌浏览器Chrome
  • PHP实现获取MySQL数据库的记录数据
    如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回。最常用的就是获取记录总数和表记录查询结果。本文将为大家介绍如何利用PHP实现获取MySQL数据库的记录数据,需要的可以参考一下 ...
    977
    2023-04-02
    PHP 获取数据库数据 PHP 获取MySQL数据 PHP 获取数据库记录数据
  • php能删除记录图片吗
    php能删除记录图片,其删除方法是:1、创建PHP文件并连接数据库;2、通过“Delete from test1 where id=".$rs['id'];”等语句删除记录图片即可。 ...
    729
    2023-04-02
    php
  • php怎么实现翻译
    php实现翻译的方法:1、创建一个PHP示例文件;2、通过有道翻译json格式来显示传值;3、利用PHP自带的函数,抓取URL返回的json数据;4、将json数据转换成对象类的形式即可。 ...
    325
    2023-04-02
    php 翻译
  • php怎么实现日历
    php实现日历的方法:1、创建一个PHP示例文件并设置编码为utf-8;2、创建table表格;3、通过mktime等函数获取时间日期;4、通过for循环实现日历功能即可。 ...
    720
    2023-04-02
    PHP 日历
  • php怎么实现翻页
    php实现翻页的方法:1、查询所有符合条件需要进行分页的总数据,计算展示的总页数;2、获取当前显示的是第几页信息;3、根据限制条件查询出当前页所需显示出来的数据;4、将每一条数据echo替换HTML结构内容中,最后显示出来即可。 ...
    602
    2023-04-02
    php 翻页
  • php怎么实现校检
    php实现校检的方法:1、声明“session_start();”函数;2、创建验证码实现的代码;3、在验证码实现之前声明一个空变量,用来存放验证码;4、用POST方式来接收验证码即可。 ...
    153
    2023-04-02
    php 校检
  • php怎么实现群发
    php实现群发的方法:1、获取第三方的接口api;2、通过“function http_request($url,$data = null){...}”代码发送请求;3、直接调用第三方的url地址,并根据要求的接口传参数即可。 ...
    818
    2023-04-02
    php 群发短信
  • php怎么实现限流
    这篇文章给大家分享的是有关php怎么实现限流的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是接口限流那么什么是限流呢?顾名思义,限流就是限制流量,包括并发的流量和一定时间内的总流量,就像你宽带包了1个G的流量 ...
    757
    2023-04-02
    php
  • 利用Python+PyQt5实现简易浏览器的实战记录
    目录实验环境依赖项安装编程实现浏览器有一个可以用于展示网页的窗口代码总结实验环境操作系统:Linux Mint编辑器:vim编程语言:python3依赖项安装安装PyQt5Qt是一个跨平台的C++应用程序开发框架sudo apt-get ...
    748
    2023-04-02
    python pyqt5浏览器 python pyqt5教程 python开发浏览器
  • php如何在浏览器显示
    php在浏览器显示方法:1、安装appserv,找到php中的“www”文件夹。2、点击开始,找到appsev文件,点击“Apache Start”和“Mysql Start”。3、打开Apache服务器后在浏览器中输入:localhost ...
    453
    2023-04-02
    PHP 浏览器
  • 帝国CMS7.0实现记录所有浏览访问的会员的方法
    本文以新闻系统数据表为例,讲述帝国cms7.0实现记录所有浏览访问的会员入数据库的方法。具体步骤如下:一、新闻系统数据表中字段管理中添加“visituserid”字段,字段类型为“CHAR &rdquo ...
    586
    2023-04-02
    帝国CMS7.0 记录 浏览 会员 方法
  • 如何清除浏览器中的301跳转记录
    清除浏览器中301跳转记录的方法:1.打开浏览器设置。2.找到“隐私设置与安全性”。3.点击“清除浏览数据”。4.选中“浏览记录”,最后点击“清除数据”即可。 ...
    724
    2023-04-02
    301跳转 浏览器
  • 织梦DEDECMS模板全站动态浏览怎么实现
    具体步骤:1、首页动态化我们只要把网站根目录下面生成的index.html删除,然后核心-生成-更新首页,选择动态浏览,再点预览主页编程客栈或者更新HTML。如果想实现首页动态效果以后就不能再在后台更新网站了,因为更新后首页又变成静态 ...
    200
    2023-04-02
    DEDECMS 全站 动态 浏览
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作