php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)

简介: php开发实战分析(2):cookie的动态使用(设置、获取、删除、猜你喜欢原理、购物车调用)

一、cookie的基本用法

在 PHP 中,cookie 是一种用于在客户端(浏览器)和服务器之间存储数据的一种机制。 它们通常用于跟踪和识别用户,并存储用户的偏好设置。下面是一些常见的用法和函数来操作 cookie。

1.设置 Cookie:

可以使用 setcookie() 函数来设置 cookie。该函数有多个参数,其中最重要的是名称和值。下面是一个设置 cookie 的例子:

setcookie("username", "JohnDoe", time() + 3600, "/");


上面的代码将创建一个名为 “username” 的 cookie,值为 “JohnDoe”。time() + 3600 参数将 cookie 的过期时间设置为当前时间的一小时后。最后一个参数 “/” 是可选的,用于指定 cookie 的可访问路径。

2.获取 Cookie:

使用 $_COOKIE 超全局变量来访问 cookie。这个变量是一个关联数组,包含了当前请求中发送的所有 cookie。

下面是一个使用 $_COOKIE 访问 cookie 的例子:

if (isset($_COOKIE["username"])) {
    $username = $_COOKIE["username"];
    echo "Welcome back, " . $username;
} else {
    echo "Welcome, guest!";
}


上面的代码首先检查是否存在名为 “username” 的 cookie,如果存在则将其值存储在 $username 变量中,然后输出欢迎消息。如果不存在,则输出默认的欢迎消息。

3.删除 Cookie:

要删除 cookie,可以通过将 cookie 的过期时间设置为一个早于当前时间的时间戳来实现。例如:

setcookie("username", "", time() - 3600, "/");

上面的代码将 “username” cookie 的过期时间设置为一个小时前,这将导致浏览器立即删除该 cookie。请注意,删除 cookie 需要确保在发送任何输出之前执行。


这是一些基本的 cookie 用法。还有其他一些参数和选项可以用来设置和操作 cookie,你可以查阅 PHP 官方文档来获取更详细的信息。

二、实战开发应用

在购物网站,最常见的做法:猜你喜欢,即在未正常登录的时候,浏览很多商品时,系统会自动记录你的浏览历史,并在猜你喜欢等展示位置显示你最近的足迹。这个就是使用到cookie的一个用发。那么,如何使用呢?

1690265669639.png


1.设置cookie封装函数

COOKIE的基本设置方式,便于快速调用和修改,封装为函数,统一调用。

//设置cookie
function set_cookie($name, $value = '', $expire = 0, $path = "/", $domain = null)
{
    $cookiedomain = ''; //COOKIE作用域
    $domain = $domain == null ? $cookiedomain: $domain;
    setcookie($name, $value, $expire, $path, $domain);
}


2.商品页,读取商品ID,并设置cookie

//记录最近浏览
$p = $_GET['id'];
$history_tmp = isset($_COOKIE['history']) ? $_COOKIE['history'] : '';
$history         = array_filter(explode(',', $history_tmp));
if (in_array($p, $history) == false) {
  if (count($history) == 30)
  {
    unset($history[0]);
  }
  array_push($history, $p);
  $history_tmp = implode(',', $history);
  set_cookie('his', $history_tmp, time() + 15552000);
}


3.获取最近浏览商品

function get_history($num)
{
    $history = isset($_COOKIE['history']) ? $_COOKIE['history'] : '';
    $his = array_filter(explode(',', $history));
    $count = count($his);
    $ids = array();
    $row = array();
    $num = $count > $num ? $num : $count;
    $n = $count - 1;
    for ($i = 0; $i < $num; $i++) {
        $id = intval(ucode($his[$n - $i]));
        if ($id > 0) {
            $ids[] = $id;
        }
    }
    if (count($ids) > 0) {
        $row = "";//读取数据表
    }
    return $row;
}



@漏刻有时

相关文章
|
缓存 大数据 PHP
PHP性能优化实战:告别缓慢脚本
PHP性能优化实战:告别缓慢脚本
332 89
|
安全 PHP
PHP 8 新特性实战:提升开发效率的利器
PHP 8 新特性实战:提升开发效率的利器
317 87
|
SQL 缓存 大数据
PHP性能优化实战:4个立竿见影的技巧
PHP性能优化实战:4个立竿见影的技巧
360 88
|
安全 PHP
PHP 8 新特性实战:提升开发效率的利器
PHP 8 新特性实战:提升开发效率的利器
375 88
PHP 8新特性:Match表达式与联合类型实战指南
PHP 8新特性:Match表达式与联合类型实战指南
|
安全 大数据 PHP
PHP 7+ 新特性实战指南:提升开发效率
PHP 7+ 新特性实战指南:提升开发效率
302 87
|
9月前
|
设计模式 安全 PHP
PHP 5与PHP 7的主要区别分析
综上所述,PHP 7相比于PHP 5,不仅在性能上有显著提升,还增加了许多新特性和改进,使得PHP语言更加强大和现代化。同时,弃用了一些过时的特性和函数,更加注重代码的健壯性和安全性。然而,这些改变也意味着从PHP 5迁移到PHP 7可能需要一些代码的调整和优化。
306 10
|
消息中间件 缓存 前端开发
PHP性能优化:从新手到高手的实战指南###
【10月更文挑战第21天】 本文将深入探讨PHP性能优化的策略与技巧,涵盖从基础代码优化到高级缓存机制的应用。通过具体案例分析,展示如何有效提升Web应用的响应速度和处理能力,帮助开发者在面对高并发场景时更加从容应对。无论你是初学者还是有经验的开发者,都能从中获得实用的建议和启发。 ###
335 8
|
10月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
782 0