Skip to content
电脑工程师入门

电脑工程师入门

create tomorrow, create happiness

  • 实用软件教程
    • Excel
    • WordPress
    • Powerpoint
    • PowerApps
    • PowerAutomateDesk
  • 计算机语言入门
    • PHP
    • Bootstrap
    • JavaScript
    • Python
    • HTML
    • WordPress
  • 咨询
  • Home
  • PHP
  • 第十三章cookies的使用
  • HOME
  • PHP
  • 第十三章cookies的使用

第十三章cookies的使用

PHP

可以在 PHP 中处理 Cookie。在这里,我将解释如何在 PHP 中使用 cookie。

13-1 cookies的送信

Cookie 用于在客户端存储数据。比如你给浏览过一次主页的客户端发送一个cookie并存储起来,下次访问主页的时候检查cookie是否存在,看是否是第一个访问者就可以做到。

所以,首先,当访问主页时,我们将检查如何向客户端发送cookie并保存它。使用 setcookie 函数。

setcookie
bool setcookie ( string name [, string value [, int expire [, string path
     [, string domain [, int secure]]]]] )
---------------------------------------------------------------------------------
setcookie() 定义一个 cookie 与其他标头信息一起发送。与其他标头信息一样,Cookie 包含在脚本的任何其他输出中。必须在之前发送 如果在调用此函数之前,setcookie中存在值,setcookie() 就会失败并返回 FALSE。如果成功执行则返回 TRUE,表示cookie功能已经被用户允许接受。

参数:
  名称 cookie 名称
  值 cookie 值
  过期 cookie 过期
  path 您希望 cookie 有效的服务器上的路径
  domain cookie 有效的域
  如果设置为 secure 1,则 cookie 将仅用于安全 HTTPS 连接。
    将被发送。默认为 0
反馈:
  如果成功则为真

基础是 cookie 的名称和值。例如,如果您创建一个名为“visited”的 cookie,并将访问次数“1”写入值,它将如下所示。

<?php
    setcookie("visited", 1);
?>

示例代码

让我们实际尝试一下

<?php
    $flag = setcookie("visited", 1);
?>

<html>
<head><title>PHP TEST</title></head>
<body>

<?php
    if ($flag){
        print('<p>写入cookie了</p>');
    }else{
        print('<p>写入cookie失败</p>');
    }
?>

</body>
</html>

如果将上述文件安装在WWW服务器上,通过浏览器查看,将显示如下。

现在您可以在客户端编写cookie。在下一页,我们现在将读取存储在客户端的 cookie 的值。

13-2 加载 cookie

读取并不意味着去客户端查看硬盘的内容。当服务器保存了一个 cookie 后,下次访问同一台服务器时,该服务器保存的 cookie 将作为环境变量发送到服务器。在服务器端,当有客户端请求页面等时,确认cookie是否一起发送。

要检查客户端是否发送了 cookie,可以使用 PHP 中的预定义变量“$_COOKIE”进行检查。“$_COOKIE”是一个关联数组,存储了所有发送到服务器的cookies。要找出特定 cookie 的值,请执行以下操作:

$val = $_COOKIE["cookie名"]

例如,如果要检索上一页使用的名为“visited”的 cookie 的值,请编写如下。

$val = $_COOKIE["visited"]

示例代码

让我们实际尝试一下。下面首先检查cookie的值,如果没有发送过cookie,则在cookie中保存初始值,如果保存过cookie,则提取值并加1。(有关isset 函数,请参阅 确定变量是否存在 (isset) )。

<?php
    if (isset($_COOKIE["visited"])){
        $count = $_COOKIE["visited"] + 1;
    }else{
        $count = 1;
    }

    $flag = setcookie("visited", $count);
?>

<html>
<head><title>PHP TEST</title></head>
<body>

<?php
    print('<p>访问次数为'.$count.'次.</p>');
?>

</body>
</html>

如果将上述文件安装在WWW服务器上,通过浏览器查看,将显示如下。

13-3 设置 cookie 有效期

如果您没有为 cookie 指定过期日期,它会在客户端浏览器关闭时消失。如果您希望 cookie 即使在浏览器关闭后仍保留一段时间,请明确设置过期日期。

到期日期由 setcookie 函数的第三个参数指定。指定值是从UNIX标准时间1970年1月1日起以秒为单位指定的,过程是将转换后的值相加并设置。

time 函数可用于获取自当前 UNIX 标准时间以来经过的秒数。(时间函数见 “获取日期和时间(time, date) ”)。

如果您希望到期日期为从现在起 3天
time() + 259200

259200 = 60(秒)* 60(分钟)* 24(小时)* 3(天)

示例代码

让我们试试吧。下面,过期时间设置为3分钟。

<?php
    if (isset($_COOKIE["visited"])){
        $count = $_COOKIE["visited"] + 1;
    }else{
        $count = 1;
    }

    $flag = setcookie("visited", $count, time() + 180);
?>

<html>
<head><title>PHP TEST</title></head>
<body>

<?php
    print('<p>访问次数为'.$count.'次</p>');
?>

</body>
</html>

如果将上述文件安装在WWW服务器上,通过浏览器查看,将显示如下。下面是重装几次。

13-4 删除cookies

当您不再需要它们时,您可以删除它们。尽可能删除不需要的 cookie。

要删除 cookie,请通过将过期日期设置为旧时间来将其删除。例如:

time() - 1800

示例代码

让我们试试吧。在下面的示例中,cookie 将在访问 3 次后被删除。

<?php
    if (isset($_COOKIE["visited"])){
        $count = $_COOKIE["visited"] + 1;
    }else{
        $count = 1;
    }

    if ($count > 3){
        setcookie("visited", $count, time() - 1800);
    }else{
        setcookie("visited", $count);
    }
?>

<html>
<head><title>PHP TEST</title></head>
<body>

<?php
    print('<p>访问次数为'.$count.'次</p>');
?>

</body>
</html>

如果将上述文件安装在WWW服务器上,通过浏览器查看,将显示如下。

13-5 在一个cookie中存储多个值

服务器可以向客户端发送多个 cookie。例如,您可以发送多个 cookie,如下所示。

setcookie("user", "yuhua");
setcookie("pass", "password");

但是,客户端最多只能保存来自一台服务器的 20 个 cookie,总共最多 300 个 cookie。因此,如果您想使用大量 cookie,则需要设计。。

如果要发送超过 20 个 cookie,请将 cookie 名称视为一个数组,并为数组的每个元素设置一个值。

setcookie("buy[1]", "DVD");
setcookie("buy[2]", "PHONE");
setcookie("buy[3]", "PC");

这样,只有“buy”被用作 cookie 名称,因此只消耗了一个 cookie。

删除时,请执行以下操作:

$val = $_COOKIE['cookie'];

print($val[1]);
print($val[2]);
print($val[3]);

示例代码

让我们试试吧。

<?php
    setcookie("buy[1]", "DVD");
    setcookie("buy[2]", "PHONE");
    setcookie("buy[3]", "PC");
?>

<html>
<head><title>PHP TEST</title></head>
<body>

<?php
    if (isset($_COOKIE["buy"])){
        $val = $_COOKIE["buy"];
        print('<p>');
        print('下面是你购买的<br>');
        print($val[1].'<br>');
        print($val[2].'<br>');
        print($val[3]);
        print('</p>');
    }else{
        print('<p>重新设置完成</p>');
    }

?>

</body>
</html>

如果将上述文件安装在WWW服务器上,通过浏览器查看,将显示如下。

标签:PHP

文章导航

❮ Previous Post: 第十二章用户认证
Next Post: 第十四章session管理 ❯

关联内容

PHP
第一章PHP 安装和初始配置
PHP
第二章PHP程序基础
PHP
第四章数字和算术运算
PHP
第三章文字列的基础
PHP
第五章变量的讲解
PHP
第六章条件分支

实用软件教程

  • Powerpoint
  • Excel
  • PowerAutomateDesk
  • Wordpress
  • Powerapps

编程语言入门

  • JavaScript
  • HTML
  • PHP
  • Python
  • Bootstrap

Copy right by flashyonder.com