PHP实现将浏览历史页面网址保存到cookie的方法

本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法。分享给大家供大家参考。具体如下:

将浏览历史页面网址保存到cookie,大致的思路如下面的代码,与实际应用有些差别。

代码如下:

<?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程序设计有所帮助。

(0)

相关推荐

  • php阻止页面后退的方法分享

    例如:现在有1,2,3.3页.希望用户一开始访问第一页,然后点"下一步"就看到"第二页",然后在进入"第三页"之前,用户不能后退.就让1和2作为同一页.留个标记在session里,这样:1and2.php 复制代码 代码如下: <?phpsession_start();if (isset($_GET['p2'])) {  $_SESSION['enteredPage2'] = true;}if (isset($_SESSION['enter

  • thinkphp浏览历史功能实现方法

    本文实例讲述了thinkphp浏览历史功能实现方法,分享给大家供大家参考.具体实现方法分析如下: 历史浏览功能都是使用了cookie功能记录用户信息放到了本地了,这样我们只要读取存储在cookies中的值就可以了,下面来给大家介绍一个基于thinkphp 实现浏览历史功能例子. 就像浏览器一样,能够记录访问了哪些页面,这样能够减少时间,下面我们实现浏览历史的功能. 1.在你需要记录浏览数据的产品或新闻页面,记录cookie需要保存的信息,例如下面这行代码,把页面ID,产品名称,价格,缩略图,网址

  • PHP实现的memcache环形队列类实例

    本文实例讲述了PHP实现的memcache环形队列类.分享给大家供大家参考.具体如下: 这里介绍了PHP实现的memcache环形队列类.没咋学过数据结构,因为业务需要,所以只是硬着头皮模拟的! 参考PHP memcache 队列代码.为使队列随时可入可出,且不受int长度越界危险(单链采取Head自增的话不作处理有越界可能),所以索性改写成环形队列.可能还有BUG,忘见谅! <?php /** * PHP memcache 环形队列类 * 原作者 LKK/lianq.net * 修改 FoxH

  • php网页后退不再出现过期

    <?php  ob_start();  if(function_exists(session_cache_limiter)) { session_cache_limiter("private, must-revalidate");  }  session_start()  ?>

  • 用PHP程序实现支持页面后退的两种方法

    第一,使用Header方法设置消息头Cache-control QUOTE: header('Cache-control: private, must-revalidate');  //支持页面回跳 第二,使用session_cache_limiter方法 QUOTE:   //注意要写在session_start方法之前     session_cache_limiter('private, must-revalidate'); 补充: Cache-Control消息头域说明 Cache-Co

  • php后退一页表单内容保存实现方法

    php表单在提交之后再后退,表单的内容默认是被清空的(使用session_start的时候), 解决方法是在session_start() 之后,字符输出之前写上 复制代码 代码如下: header("Cache-control: private"); 网页的缓存是由HTTP消息头中的"Cache-control"来控制的,常见的取值有private.no- cache.max-age.must-revalidate等,默认为private.其作用根据不同的重新浏览

  • php基于双向循环队列实现历史记录的前进后退等功能

    本文实例讲述了php基于双向循环队列实现历史记录的前进后退等功能.分享给大家供大家参考.具体如下: 为实现一个记录操作历史的功能 1. 和撤销,反撤销功能类似的一个功能.(实现操作的前进后退) 2. 和discuz论坛登录后查看帖子(可以前进后退查看过的帖子,还有帖子查看历史记录) 3. 逻辑和windows资源管理器地址栏前进后退功能一样. 根据这种需要,实现了一个数据结构.写了一个通用的类,暂叫历史记录类吧. [原理和时钟类似.实例化对象时可以构造长度为N(可以根据需要定长度)个节点的环]

  • php浏览历史记录的方法

    本文实例讲述了php浏览历史记录的方法.分享给大家供大家参考.具体实现方法如下: /** * 商品历史浏览记录 * $data 商品记录信息 */ private function _history($data) { if(!$data || !is_array($data)) { return false; } //判断cookie类里面是否有浏览记录 if($this->_request->getCookie('history')) { $history = unserialize($th

  • PHP实现将浏览历史页面网址保存到cookie的方法

    本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法.分享给大家供大家参考.具体如下: 将浏览历史页面网址保存到cookie,大致的思路如下面的代码,与实际应用有些差别. 复制代码 代码如下: <?php /*******  说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取 *******/ //先假设当前URL为:http://localhost/php/?id=1 $id = $_GET

  • jQuery实现拖拽页面元素并将其保存到cookie的方法

    本文实例讲述了jQuery实现拖拽页面元素并将其保存到cookie的方法.分享给大家供大家参考,具体如下: 实现的效果就是页面内的图片可拖拽到任意位置,并将所在位置保存.下次打开页面依然可见.本文是作demo用,实际开发中,位置的数据应保存到数据库中 好了,开始 1.准备工作 a.jquery(1.7.2),ui,cookie插件,json插件.一些图片(本文是5张) 2.页面 上代码 <div class="img_list" id="img_list"&g

  • 如何决定是否将登录内容保存到Cookie里?

    login.htm <% @ Language=&#106avascript %><%if (Request.Cookies("SavedLogin").HasKeys) {    Response.Redirect("checklogin.asp?Cookie=1")}%> <html><head> <title>精彩春风之登录页面</title> </head><b

  • jQuery切换网页皮肤并保存到Cookie示例代码

    以下是源代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>j

  • scrapy自定义pipeline类实现将采集数据保存到mongodb的方法

    本文实例讲述了scrapy自定义pipeline类实现将采集数据保存到mongodb的方法.分享给大家供大家参考.具体如下: # Standard Python library imports # 3rd party modules import pymongo from scrapy import log from scrapy.conf import settings from scrapy.exceptions import DropItem class MongoDBPipeline(o

  • Android编程之SMS读取短信并保存到SQLite的方法

    本文实例讲述了Android编程之SMS读取短信并保存到SQLite的方法.分享给大家供大家参考,具体如下: Android 之 SMS 短信在Android系统中是保存在SQLite数据库中的,但不让其它程序访问(Android系统的安全机制) 现在我们在读取手机内的SMS短信,先保存在我们自己定义的SQLite数据库中,然后读取SQLite数据库提取短信,并显示 SMS短信SQLite存取代码: package com.homer.sms; import java.sql.Date; imp

  • Android实现内存中数据保存到sdcard的方法

    本文实例讲述了Android实现内存中数据保存到sdcard的方法.分享给大家供大家参考,具体如下: public static void writeToSdCard(String s) { try { File dst = new File("/sdcard/test_sensor/" + mName + ".txt"); File parent = dst.getParentFile(); if(!parent.exists()) { parent.mkdirs

  • Java简单实现session保存到redis的方法示例

    本文实例讲述了Java简单实现session保存到redis的方法.分享给大家供大家参考,具体如下: 在负载均衡情况下,如果用户访问不同的机器,如果没有做session同步,用户就会被提出,这样用户体验非常不好,所以我们很有必要做session同步,把session放到reids缓存服务器就能很好的解决问题.下面是代码简单的实现. 一.配置web.xml过滤器: <filter> <filter-name>sessionFilter</filter-name> <

  • Bootstrap富文本组件wysiwyg数据保存到mysql的方法

    Bootstrap提供了一个叫wysiwyg的富文本组件,用来显示和编辑富文本数据,但如何将编辑后的数据保存到MySQL数据库,却不得而知.另外,如何将mysql数据库中的数据显示到wysiwyg也不得而知,对于这两个问题,让我来告诉你解决方案! 一.效果展示 首先,我们先来看看效果如何: 富文本中有一张图片,还有一个数字列表 我们可以看到编辑后的数据保存成功,以及保存后对应的展示. 二.富文本 度娘对于富文本的解释如下: 富文本格式(Rich Text Format, 一般简称为RTF)是由微

  • 如何实现修改密码时密码框显示保存到cookie的密码

    只要在input框中加入AUTOCOMPLETE="OFF" 即可 复制代码 代码如下: <input name="pwd" id="password" type="password" class=" required" AUTOCOMPLETE="OFF" />

随机推荐