无涯教程-PHP - Cookies

这篇具有很好参考价值的文章主要介绍了无涯教程-PHP - Cookies。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Cookies是存储在客户端计算机上的文本文件。

识别用户涉及三个步骤-

  • 服务器脚本将一组cookie发送到浏览器。如姓名,年龄或身份证等。

  • 浏览器将此信息存储在本地计算机上,以备将来使用。

  • 下次浏览器向Web服务器发送任何请求时,它将向服务器发送这些cookie信息,然后服务器使用该信息来识别用户。

本章将教您如何设置cookie,如何访问它们以及如何删除它们。

Cookie信息

Cookie通常是在HTTP标头中设置的(尽管JavaScript也可以直接在浏览器中设置Cookie)。设置cookie的PHP脚本可能会发送类似于以下内容的标头-

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=learnfk.com
Connection: close
Content-Type: text/html

如您所见,Set-Cookie标头包含名称值对,GMT日期,路径和域名。名称和值将进行URL编码。 expires 表示cookie存储有效期。

如果访问网站时,将带上cookie重新发送到服务器。浏览器的标头可能看起来像这样-

GET/HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc)
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

然后,PHP脚本将可以访问包含所有cookie名称和值的环境变量$_COOKIE或$HTTP_COOKIE_VARS []中的cookie。上面的cookie可以使用$HTTP_COOKIE_VARS [" name"]访问。

设置Cookies

PHP提供了setcookie()函数来设置cookie。 此函数最多需要六个参数,应在<html>标签之前调用。 对于每个Cookie,此函数必须分别调用。

setcookie(name, value, expire, path, domain, security);

这是所有参数的详细信息-

  • name       -   设置cookie的名称,并存储在名为HTTP_COOKIE_VARS的环境变量中。

  • value       -   这将设置命名变量的值,并且是您实际要存储的内容。

  • expire     -  过期时间,如果未设置此参数,则在关闭Web浏览器时cookie将自动失效。

  • path        -  这指定cookie有效的目录。

  • domain   -  所有cookie仅对创建它们的域名有效。

  • security   -  可以将其设置为1,以指定仅通过使用HTTPS的安全传输来发送cookie,否则设置为0,这意味着可以通过常规HTTP发送cookie

以下示例将创建两个 name 和 age 的cookie,这些cookie将在一小时后过期。

<?php
   setcookie("name", "John Watkin", time()+3600, "/","", 0);
   setcookie("age", "36", time()+3600, "/", "",  0);
?>
<html>
   
   <head>
      <title>用PHP设置Cookies</title>
   </head>
   
   <body>
      <?php echo "Set Cookies"?>
   </body>
   
</html>

访问Cookies

PHP提供了许多访问cookie的方法。最简单的方法是使用$_COOKIE或$HTTP_COOKIE_VARS变量。

<html>
   
   <head>
      <title>用PHP访问Cookies</title>
   </head>
   
   <body>
      
      <?php
         echo $_COOKIE["name"]. "<br />";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["name"]. "<br />";
         
         echo $_COOKIE["age"] . "<br />";
         
         /* is equivalent to */
         echo $HTTP_COOKIE_VARS["age"] . "<br />";
      ?>
      
   </body>
</html>

您可以使用 isset()函数检查是否设置了cookie

<html>
   
   <head>
      <title>用PHP访问Cookies</title>
   </head>
   
   <body>
      
      <?php
         if( isset($_COOKIE["name"]))
            echo "Welcome " . $_COOKIE["name"] . "<br />";
         
         else
            echo "Sorry... Not recognized" . "<br />";
      ?>
      
   </body>
</html>

删除Cookie

正式地,要删除cookie,您应该仅使用name参数调用setcookie(),但将cookie设置为已过期的日期是最安全的方法-

<?php
   setcookie( "name", "", time()- 60, "/","", 0);
   setcookie( "age", "", time()- 60, "/","", 0);
?>
<html>
   
   <head>
      <title>Deleting Cookies with PHP</title>
   </head>
   
   <body>
      <?php echo "Deleted Cookies" ?>
   </body>
   
</html>

PHP - Cookies - 无涯教程网无涯教程网提供Cookies是存储在客户端计算机上的文本文件。识别用户涉及三个步骤- 服务器脚本将一组c...https://www.learnfk.com/php/php-cookies.html文章来源地址https://www.toymoban.com/news/detail-662814.html

到了这里,关于无涯教程-PHP - Cookies的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无涯教程-PHP - 全局变量函数

    与局部变量相反,可以在程序的任何部分访问全局变量。通过将 GLOBAL 放置在应被识别为全局变量的前面,可以很方便地实现这一目标。 这将产生以下输出- PHP 中的 全局变量函数 - 无涯教程网 无涯教程网提供全局变量与局部变量相反,可以在程序的任何部分访问全局变量

    2024年02月12日
    浏览(32)
  • 无涯教程-PHP - 返回类型声明

    在PHP 7中,引入了一个新函数返回类型声明,返回类型声明指定函数应返回的值的类型,可以声明返回类型的以下类型。 int float boolean string interfaces array callable 它产生以下浏览器输出- 它产生以下浏览器输出- PHP - 返回类型声明 - 无涯教程网 无涯教程网提供在PHP 7中,引入了一

    2024年02月11日
    浏览(30)
  • 无涯教程-PHP - Filtered反序列化

    PHP 7引入了Filtered unserialize() 函数,以在对不受信任的数据上的对象进行反序列化时提供更好的安全性。 它产生以下浏览器输出- PHP - Filtered反序列化 - 无涯教程网 无涯教程网提供PHP 7引入了Filtered unserialize() 函数,以在对不受信任的数据上的对象进行反序列化... https://www.lea

    2024年02月10日
    浏览(45)
  • 无涯教程-PHP - sql_regcase()函数

    可以将sql_regcase()函数视为实用程序函数,它将输入参数字符串中的每个字符转换为包含两个字符的带括号的表达式。 返回带括号的表达式字符串以及转换后的字符。 这将产生以下输出- PHP 中的 sql_regcase()函数 - 无涯教程网 无涯教程网提供sql_regcase() - 语法 string sql_regcase ( s

    2024年02月11日
    浏览(30)
  • 无涯教程-PHP - preg_split()函数

    preg_ split() 函数的操作与 split() 完全相同,只不过正则表达式被接受为 pattern 的输入参数。 如果指定了可选的输入参数 limit ,则仅返回子字符串的限制数量。 标志可以是以下标志的任意组合- PREG_SPLIT_NO_EMPTY               -  如果设置了此标志,则 preg_ split() 将仅返回非空

    2024年02月11日
    浏览(34)
  • 【php】windows下php运行已有php web项目环境配置教程

    本文操作系统使用的是win11,软件PhpStorm 2023.1 要安装的php版本可以在composer.json看到,下载安装对应版本 windows下载地址https://windows.php.net/download windows 8.0以前的版本在这里找https://windows.php.net/downloads/releases/archives/ Linux下载链接https://www.php.net/downloads nts表示非线程安全版本,我

    2024年02月11日
    浏览(47)
  • 【PHP程序设计(高阶版)】——PHP操作MySQL教程

    👨‍💻个人主页 :@开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏 :PHP程序开发 —   PHP提供了 MySQL扩展、MySQLi扩展和PDO(PHP Data 0bjects)三种方式与MSQL数据库交互。在互联网上很多资料使用的是 MySQL扩

    2024年04月13日
    浏览(35)
  • PHP高级教程

    PHP 表单完成 PHP 日期 在本教程之前的章节中,我们已经知道数组是一种数/值对的简单列表。 不过,有时您希望用一个以上的键存储值。 可以用多维数组进行存储。 多维数组指的是包含一个或多个数组的数组。 PHP 能理解两、三、四或五级甚至更多级的多维数组。不过,超过

    2024年02月16日
    浏览(44)
  • PHP环境安装教程

    PHP环境安装教程 网图、侵删 有个历史项目是用PHP写的(同事已提桶跑路),我协助改个小需求。特此记录PHP本地安装步骤。 开发工具安装,推荐PHP语言开发环境phpstorm。 官网windows安装包下载链接: https://www.jetbrains.com.cn/phpstorm/ 安装完如下图: WampServer就是Windows Apache Mysql

    2024年02月05日
    浏览(45)
  • PHP入门基础教程 - 专栏导读

    🏆作者简介,黑夜开发者,全栈领域新星创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于PHP专栏:PHP入门基础教程。 欢迎来到 PHP 入门基础教程!本专栏将带领你

    2024年02月12日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包