第13章 PHP会话技术-【千锋教育】PHP从入门到精通
|
28页
|
102人阅读
|
0人下载
教辅
内容正文:
第13章 PHP会话技术
会话技术概述
Cookie技术
Session技术
表单与PHP的关系
提交表单信息
PHP获取表单信息
13.2
13.3
13.1
☞点击查看本小节知识架构
☞点击查看本小节知识架构
学习目标
理解
理解
掌握
掌握
理解会话控制的概念
1
掌握Session的操作方法
4
2
理解Cookie机制和Session机制
3
掌握Cookie的操作方法
销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5
13.1 会话技术概述
客户端和服务器的交互是通过HTTP实现的,而HTTP是无状态协议,即HTTP协议没有一个内建机制维护两个事务之间的状态,当一个用户请求一个页面以后,再请求同一个网站上的另外页面时,HTTP并不能告诉服务器这两个请求是来自同一个用户,因此服务器不会将这两次请求联系在一起。
会话控制的思想就是允许服务器端跟踪一个客户端做出的连续请求,这样,用户就可以很容易地做到用户登录的支持,而不是在每浏览一个网页时都去重复执行登录的动作,当然,除了使用会话控制在同一个网站中跟踪Web用户之外,对同一个访问者的请求可以在多个页面之间为其共享数据。
Cookie和Session是目前最常用的两种会话技术。其中,Cookie是一种在客户端存储数据并以此来跟踪和识别用户的机制,而Session则是将信息存放在服务器端的会话技术。接下来,本章将对Cookie和Session的相关知识进行详细讲解。
13.2 Cookie技术
13.2.1
Cookie概述
返回目录
13.2.2
创建Cookie
13.2.3
读取Cookie
13.2.4
删除Cookie
13.2.5
Cookie应用案例
5
13.2 Cookie技术
在Cookie出现之前,浏览Web网站是一种没有历史可言的“旅程”。虽然浏览器会跟踪所访问的页面,允许使用后退(Back)按钮返回到之前访问过的页面,并且使用不同的颜色标记已经访问过的链接,但是服务器并不会记录访问过什么内容。如果站点不使用Cookie,或者用户在Web浏览器禁用了Cookie,那么服务器也不会记录任何内容。
Cookie是服务器在用户计算机上保存用户信息的一种方式,以便服务器能够在访问过程中或者多次访问中记住用户。Cookie就像一个名称标签:用户计算机告知服务器用户名称,并且给予一个名称标签。然后服务器能够通过名称标签获知用户是谁。
13.2.1 Cookie概述
13.2 Cookie技术
服务器端向客户端发送Cookie时,会在HTTP响应头中增加Set-Cookie响应头字段。Set-Cookie头字段中设置的Cookie遵循一定的语法格式,具体示例如下:
13.2.1 Cookie概述
其中,City表示Cookie的名称,Beijing表示Cookie的值,Path表示Cookie的属性。需要注意的是,Cookie必须以键值对的形式存在,其属性可以有多个,但这些属性之间必须用分号(;)和空格分隔。
接下来通过一张图来描述Cookie在Web浏览器(客户端)和服务器之间的传输过程,如图所示。
13.2 Cookie技术
Cookie存储在浏览器中,只有最初发送Cookie的站点才能够读取它。同时,Cookie在浏览器对服务器端发出请求时被服务器读取。换句话说,当用户在地址栏中输入URL地址并单击转到(GO或者类似的其他按钮)时,站点就会读取所有它能访问的Cookie并且处理所有请求的页面。
13.2.1 Cookie概述
13.2 Cookie技术
创建Cookie是使用Cookie的第一步,PHP脚本程序通过setcookie()函数来创建Cookie,其语法格式如下:
13.2.2 创建Cookie
其中,参数$name是表示名称,为必选参数;参数$value表示Cookie的值;参数$expire表示Cookie的有效期;参数$path表示Cookie在服务器端的有效路径;参数$domain表示Cookie的有效域名;参数$secure表示指定Cookie是否通过更安全的HTTPS连接来传输。
13.2 Cookie技术
与表单数据被存储在数组$_POST[]或$_GET[]中类似,setcookie()函数生成的Cookie数据存放在数组$_COOKIE[]中,PHP脚本可以通过$_COOKIE []来获取Cookie数据,具体语法格式如下:
13.2.3 读取Cookie
其中,$value表示一个变量,用于存储从Cookie中获取的数据,name是一个字符串,表示Cookie信息的name值。
13.2 Cookie技术
PHP脚本通过setCookie()函数删除Cookie,删除Cookie有两种实现方