PHP实现记录浏览历史页面

PHP实现记录浏览历史页面

<?php
/*******
 说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取
*******/
 
//先假设当前URL为:http://localhost/php/?id=1
$id = $_GET['id'];
 
if(isset($_COOKIE['his'])){
 $urls = $_COOKIE['his'];//读取cookie
 $arr = unserialize($urls);//字符串转回原来的数组
 $arr[] = $_SERVER['REQUEST_URI'];//当前页面url添加到数组中
 $arr = array_unique($arr);//除去重复的
 if(count($arr)>10){
   //只保存10条访问记录
  array_shift($arr);
 }
 $urls = serialize($arr);//存储为字符串,
 setcookie('his',$urls);//保存到cookie当中
}else{
 $url = $_SEVER['REQUEST_URI'];//获取当前页面URL
 $arr[] = $url;//将当前URL保存到数组中
 $urls = serialize($arr);//存储为字符串
 setcookie('his',$urls);//保存到cookie当中
}
 
echo "<a href='/php/?id=".($id-1)."'>上一页</a><br /><br />";//上一页,访问测试用
echo "<a href='/php/?id=".($id+1)."'>下一页</a>";//下一页,访问测试用
 
?>
<h3>历史访问页面</h3>
<ul>
 <?php foreach($arr as $v){ ?>
 <li><a href="<?php echo $v; ?>"><?php echo $v; ?></a></li>
 <?php } ?>
</ul>

这篇文章主要介绍了PHP实现将浏览历史页面网址保存到cookie的方法,涉及php对cookie的读取、字符串转化及保存等技巧,需要的朋友可以参考下

本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法。分享给大家供大家参考。具体如下:
将浏览历史页面网址保存到cookie,大致的思路如下面的代码,与实际应用有些差别。

原文:https://blog.csdn.net/index_ling/article/details/53645678

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112770.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 工程师必备APP抓包技能

    工程师必备APP抓包技能奇技·指南一台上网电脑就能完成APP抓包分析一条龙服务。这是一篇APP抓包分析总结性文章,采用APP模拟器与Web调试代理工具组合玩法。从此APP抓包分析能力变得…

    2022年5月30日
    24
  • 海思Hi3798处理器参数,Hi3798芯片详细信息介绍[通俗易懂]

    海思Hi3798处理器参数,Hi3798芯片详细信息介绍[通俗易懂]Hi3798CV200集成4核64位高性能CortexA53处理器、内置NEON加速引擎,强大的CPU处理能力可以满足各种差异化的业务需求。在码流兼容性、在线视频播放的流畅性、图像质量以及整机性能方面保持业界最好的用户体验。支持4K2KP60@10bit超高清视频解码和显示,支持H.265/HEVC、H.264/AVC、AVS+、MVC、MPEG2、MPEG4、VC-1、VP6、VP…

    2022年6月30日
    102
  • Ubuntu18.04 安装Jdk1.8[通俗易懂]

    Ubuntu18.04 安装Jdk1.8[通俗易懂]Ubuntu18.04安装Jdk1.8

    2022年7月12日
    14
  • synchronousqueue场景_java中SynchronousQueue的核心方法

    synchronousqueue场景_java中SynchronousQueue的核心方法我们之前提过SynchronousQueue入队和出队的两种方法,其实它们都依托transfer方法得以实现。相比较而言,transfer可以同步进行入队和出队的操作,是SynchronousQueue中最重要的核心方法。下面我们就transfer概念、使用场景,以及在代码中增减元素的实例带来全面介绍。1.transfer概念进行匹配交换数据,SynchronousQueue内部使用Transfe…

    2022年6月22日
    46
  • windows snmp trap配置_snmp的trap报文用于

    windows snmp trap配置_snmp的trap报文用于1环境ubuntu16.042.安装sudoapt-getinstallsnmptrapd3.配置备注:配置文件路径,/etc/snmp/snmptrapd.conf在snmpwalk介绍及其用法一文中,介绍过net-snmp的snmpwalk的用法,殊不知,net-snmp还有trap的命令程序,可以用来测试snmp的trap方法(包括inform方法)。这些命令程序是:snm…

    2022年8月20日
    9
  • 区块链工程师需要掌握哪些技能?

    作者:Annchain(本文一切著作权归annchain技术团队所有,未经许可,不得转载。若需转载请联系页尾二维码。) 从2017年开始,区块链逐步成为互联网的风口浪尖。曝光度的激增带来了人才市场的火爆。 区块链所要求的知识并非什么特殊的或者新兴的知识,除了密码学领域的知识需要专门了解之外,其他知识和技能几乎都是一些比较通用的网络开发核心知识。 由于区块链行业涉及到的范…

    2022年4月5日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号