热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpcookie之学习笔记_PHP教程

phpcookie之学习笔记。cookie是所有程序中都会用到的一个会话,下边我把我学习phpcookie的笔记分享给各位同学,本文章介绍了所有关于cookie入门篇的小技巧,有需
COOKIE是所有程序中都会用到的一个会话,下边我把我学习php COOKIE 的笔记分享给各位同学,本文章介绍了所有关于COOKIE入门篇的小技巧,有需要的同学可参考。

COOKIE是什么意思?

COOKIE是用来存储用户名、密码、访问该站点的次数等。在访问某个网站时,COOKIE将html网页发送到浏览器中一个小段信息,以脚本的形式保存在客户端的计算机上。

COOKIE有什么用?如果用服务器去记录个用户上站的次数,那么长期积累下来数据必然十分庞大,对服务器来说负担很中。因此,可以将数据存入到用户自己的计算机中,等到需要时服务器再读取用户计算机上的COOKIE提取数据,这样一来服务器就不需要记录大量的数据。


一般来说,COOKIE通过HTTP Headers从服务器端返回浏览器。首先,服务器端在响应中利用Set COOKIE Header来创建一个COOKIE。然后浏览器在请求中通过COOKIE Header包含这个已经创建的COOKIE,并且将它返回至服务器,从而完成浏览器的验证。


COOKIE的创建

php创建一个COOKIE需要调用setCOOKIE()函数,其结构形式如下:

bool setCOOKIE(string name[,string value[,int expiration[,string path[,bool secure]]]])
参数name表示COOKIE的名称,其它参数可选;
参数value是存入COOKIE的值;
参数expiration指定COOKIE过期的时间;
参数path指定COOKIE在服务器上的有效路径,用来设置COOKIE将被发送到服务器的那一个文件夹下;
参数secure指定COOKIE是否通过安全的https链接发送。
php COOKIE实例代码:

代码如下

setCOOKIE("c1","my name is Rose",time()+3600);
/* 建立一个名称为"c1"的COOKIE 过期时间为3600秒 */
?>

COOKIE的访问

大多数变量只在内存占用空间,因此当php脚本终结时变量也从内存中被释放清空。而COOKIE可以将变量的值长期存储到用户计算机的硬盘,当我们需要调用此变量的值时,读取该COOKIE的名称即可。

前面一节COOKIE的创建已经建立了一个命名为”c1″的COOKIE,下面我们来测试一下这个COOKIE是否成功创建了。

php 访问COOKIE的实例:

代码如下

echo "c1的COOKIE值是 " .$_COOKIE['c1'] ."
";
echo "c2的COOKIE值是 " .$_COOKIE['c2'];
?>

COOKIE的时间

如果没有设置COOKIE的有效时间,那么当关闭浏览器时COOKIE就会消失。如果要保留COOKIE,就必须给它设置一个有效的时间。

php COOKIE时间设置方法:

time()+秒数
time()表示目前用户操作系统的时间,后面的秒数即是COOKIE的有效时间。如果要制定一个特定的日期,可以使用mktime()函数,其结构形式如下:

mktime(时,分,秒,月,日,年)
如果要立即删除一个COOKIE,可以将时间设置成过去的一个时间即可。

php COOKIE时间设置例子:

代码如下
setCOOKIE("a","10",time()-60); /* 设置时间为之前60秒,其值立即被删 */
setCOOKIE("a","10",time()+60); /* 设置有效时间为60秒 */
setCOOKIE("a","10",mktime(0,0,0,11,1,2011)); /* 失效时间为2011年11月1日0点0分0秒 */

下面介绍一个利用COOKIE设计的一个简单统计程序:

代码如下

$count=$_COOKIE['user'];
$count++;
setCOOKIE("user",$count,time()+3600);
echo "这是你的第 $count 次访问!";
?>

COOKIE数组

我们同样可以创建一个php COOKIE数组,下面通过实例介绍实现方法。

代码:

代码如下
setCOOKIE('name[1]','Rose');
setCOOKIE('name[2]','John');
setCOOKIE('name[3]','Mikle');
if(is_array($_COOKIE['name'])){ /* 判断是否数组 */
foreach($_COOKIE['name'] as $name=>$value) {
echo "$name:$value
";
}
}
else echo "不是数组";
?>


COOKIE的限制

COOKIE是用来存储用户浏览网站的重要信息,为了防止乱用导致用户的信息泄露,所以对COOKIE作出一定的限制:

浏览器记录用户COOKIE大小限制在4KB以内的容量;
浏览器只保存某个站点服务器的COOKIE数量限制在20个,如果超出这个数量,则之前保存的会被删除。
每个用户的浏览器最多只能访问300个COOKIE。
用户可以在浏览器设置是否启用COOKIE存储信息,因此,要使用COOKIE存储信息,必须先确认浏览器中COOKIE的功能是否已经打开。例如IE9浏览器,打开“属性”–“隐私”–“高级”选项,选中启用即可:


提示:浏览器创建了一个COOKIE之后,对于每个针对该网站的请求都会在Header中带着这个COOKIE。而且浏览器会一直发送,知道COOKIE过期位置。不过对于其它网站的请求,COOKIE是绝对不会跟着发送的。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628829.htmlTechArticleCOOKIE是所有程序中都会用到的一个会话,下边我把我学习php COOKIE 的笔记分享给各位同学,本文章介绍了所有关于COOKIE入门篇的小技巧,有需...


推荐阅读
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 笔记说明重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系& ... [详细]
  • 本文详细介绍了五种常用的PHP排序算法——冒泡排序、选择排序、插入排序、希尔排序和堆排序。每种算法都附有代码示例,并通过打印和延时操作来直观展示排序过程。欢迎指出任何错误。 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • 在开发过程中,有时需要提供用户创建数据库的功能。本文介绍了如何利用 .NET 和 ADOX 在应用程序中实现创建 Access 数据库,并详细说明了创建数据库及表的具体步骤。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
author-avatar
peaxcwxzl_372248
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有