cookie记录用户的浏览商品的路径

在电子商务的网站中,经常要记录用户的浏览路径,以判断用户到底对哪些商品感兴趣,或者哪些商品之间存在关联。

下面将使用cookie记录用户的浏览过的历史页面。该网站将每个页面的标题保存在该页面的$TITLE 变量中,用户每访问一次,就将新访问的标题添加到COOKie变量$_COOKIE["history"]值中。

随着访问页面的次数增多,该cookie变量中保存的含有页面标题的字符串会越来越长。将cookie变量切分成数组。然后输出数组元素的值就可以输出用户最近访问的页面的标题了

<?php
/*
 *
 * @Authors peng--jun
 * @Email   [email protected]
 * @Date    2015-11-07 11:16:05
 * @Link    http://www.cnblogs.com/xs-yqz/
 * @version $Id$
 ==========================================
 */
 header("Content-type: text/html; charset=UTF-8");
 ob_start();//打开缓冲区,以便在有输出后还能设置Cookie
 $TITLE = "西游记";//商品页有很多,其他商品页的title是水浒传、西游记等
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?= $TITLE?></title>
</head>
<body>
    <h3><?= $TITLE ?>商品界面</h3>
    <p>同类商品:
        <a href="hlm.php">红楼梦</a>
        <a href="shz.php">水浒传</a>
        <a href="sg.php">三国演义</a>
    </p>
    <?php require("4.22.php"); ?>
</body>
</html>
sg.php页面代码
<?php
/*
 *
 * @Authors peng--jun
 * @Email   [email protected]
 * @Date    2015-11-07 11:23:26
 * @Link    http://www.cnblogs.com/xs-yqz/
 * @version $Id$
 ==========================================
 */
 header("Content-type: text/html; charset=UTF-8");
  ob_start();//打开缓冲区,以便在有输出后还能设置Cookie
 $TITLE = "三国演义";//商品页有很多,其他商品页的title是水浒传、西游记等
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><?= $TITLE ?></title>
</head>
<body>
    <h3><?= $TITLE ?>商品界面</h3>
    <p>同类商品:
        <a href="hlm.php">红楼梦</a>
        <a href="shz.php">水浒传</a>
        <a href="sg.php">三国演义</a>
    </p>
    <?php include("4.22.php") ?>
</body>
</html>

其余的 shz.php 和 hlm.php 的页面内容一致,只是$TITLE的变量值变了,其余没变。

4.22.php

<?php
/*
 *
 * @Authors peng--jun
 * @Email   [email protected]
 * @Date    2015-11-07 11:25:06
 * @Link    http://www.cnblogs.com/xs-yqz/
 * @version $Id$
 ==========================================
 */
 header("Content-type: text/html; charset=UTF-8");
 $history = $_COOKIE["history"];//获取记录浏览历史的Cookies
 if ($history == "") {
     $path = $TITLE;//将当前页的标题保存到path变量中
 }else{
     $path = $TITLE."/".$history;//将当前页的标题加到浏览历史的最前面,用"/"符号分割
 }
 //将$path保存到Cookie变量中,设置过期时间为1天
 setcookie("history",$path,time()+3600*1);
 $arrPath = explode("/", $path);//将$path 分割成一个数组explode()函数
 foreach ($arrPath as $key => $value) {
     if ($key>9) break;//只输出最近的10条数据  foreach用于遍历数组
     echo ($key+1).".".$value."<br/>";//输出浏览历史
 }
?>
时间: 2024-10-07 05:31:24

cookie记录用户的浏览商品的路径的相关文章

使用cookie记录点击/浏览历史并以json格式存入

好久没写博客了.今天就写一个小demo. 使用cookie记录每次点击的历史记录,并且以json的格式存入cookie,如果相同的浏览记录,则不记录 demo中只设置了记录最新的3条数据.. if (len > 2) { json1.splice(0, 1); } 更多的可修改下面代码中的 2. 具体代码如下: html部分: <div class="clx-3"> <ul id="searchCityListB"> <li>

cookie记录用户浏览过的物品

思路如下:                为了便于后期的操作,所以使用collection,其中使用collection中的contains方法更加严谨点,因为contains方法不止判断值是否相同,也会判断类型是否相同,并且collection中的实现内linkedList中针对集合操作更加方便,如:addFirst(),removelast(),在cookie中我们拿到的value值是字符串,把字符串转换成集合的话我们可以借助Arrays工具类的asList()方法,它会把数据转化为一个co

java 使用cookie记录用户上一次访问的时间 记住 用户的 登录名

package cn.itcast.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSer

cookie记录用户最后登录时间

<?php//ob_start();header('Content-Type:text/html;charset=utf-8');date_default_timezone_set("Asia/Shanghai"); if (!empty($_COOKIE["lastVisit"])) { echo '您上次登录时间是'.$_COOKIE["lastVisit"]; setcookie("lastVisit",date(

使用 Redis 缓存来实现用户最近浏览的商品列表

一.如何使用 Redis 来缓存来实现最近浏览的商品列表? 首先我们要确定一个两个点,最近浏览的商品肯定是一个存一个取的操作. 那么就可以确定以下几个问题: 最近浏览的记录肯定是要有失效时间的 这里可以使用缓存(Redis等),缓存可以设置失效时间(最大设置为一个月). 如果使用关系型数据库,还需要定时清楚,就很不符合实际需求. 最近浏览记录肯定是要有个数限制的,不可能记录所有的浏览记录 如果使用Redis来实现的话,Redis 中有 LTRM 来修建,以保证存储的浏览条数. 需要在哪里添加保存

js记录用户在网站的浏览记录和停留时间(2)

问题:上次的代码确实解决了一部分用户访问记录的收集,但是还是存在一个问题就是 我们网站的注册 都是新页面打开的,如果用户刚进入网站就点击注册(打开了新的页面) ,我代码里用到的 onbeforeunload 就无法将用户进入的页面存储到本地了,也就是导致 访问了网站 直接点击注册的用户 无法被记录.所以这次对数据的记录方式做了拆分. 这个是上一次文章的链接:http://weber.pub/js记录用户行为浏览记录和停留时间/163.html 思路 当用户进入网站,页面加载完成的时候执行 win

cookie技术案例-用户浏览商品的记录

1引言 你点击了桌面上的Chrome图标,一个浏览器窗口出现了,输入网址就可以在Internet世界愉快玩耍.这一切是怎么实现的呢?Chromium这个多进程的程序是如何启动各个进程的呢?浏览器主进程(界面进程)启动了哪些线程?如何启动的呢?这些问题一直萦绕在心头,一起来看看源代码吧.本文主要针对Chromium for Mac的源代码,其它操作系统大同小异. 2背景知识 浏览器作为一个应用程序,是以进程的形式运行在操作系统上的.首先,Chromium是一个多进程的应用程序,我们需要了解Chro

Cookie小案例-----记住浏览过的商品记录

Cookie小案例------记住浏览过的商品记录 我们知道,这个功能在电商项目中很常见.这里处理请求和页面显示都是由servlet实现,主要是为了体现cookie的作用, 实现功能如下: 1,点击购买的商品后,显示到另一页面 2,记住用户浏览过的商品,并在页面时中显示 3,当浏览过的数量超过最大值限度时,最下面一个商品被挤下去 4,当浏览过的商品本身就在浏览记录中,显示列表将其从中间移到最上面 显示一打开网站的样子和显示用户的浏览记录: package cn.itcast.cookie; im

Cookie中图片的浏览记录与cookie读取servle时路径的设置(文字描述)

public class ShowServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletR