版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、08模块PHP与网页交互,PHP与网页交互是学习PHP编程语言的基础,交互是动态网站与静态网站区别的重要特征。森窒煦砆牉镜扴桶等睿籵桶等啋匼桶等杅擂腔枑蝠源宒桶等统杅硉腔绦源宒PHP笢跪笱桶等啋匼腔硉cookie颇赶胀知识。能力目标1。您可以创建简单的用户注册或登录表单2。您可以编写PHP代码以获取各种表单元素的值3。要确定用户的访问权限,可以使用Session。知识目标1。表单标签每个属性的含义2。输入标签(如字段和文本字段)的属性和用途。3.表单提交方法POST和get4。$ _ post 、$_GET和$_SESSION获取参数值的三种方法为5。创建、读取、删除cookie和生命周期6。
2、Session启动、注册、删除和使用、知识1表单和公用表单元素,通常一个web表单由表单标签和各种表单元素组成,如下所述。(1)表单标签表单的HTML标签是,您可以通过使用标签并在其中插入相关表单元素来创建表单。表单结构如下:/忽略插入的表单元素,标记的属性如下:名称:表单的名称,您可以定义自己的表单名称。当然,最好给表格起有意义的名字。Method:表单提交方法(通常为POST或GET),区别在知识点2中详细说明。Action:指定处理表单页面的URL。通常后缀为。PHP人。ASP或。具有数据处理功能的web程序,如JSP等动态web页。enctype:设置表单内容的编码方案。主要有三个值。
3、设置为“text/plain”会将空格转换为“”加号,但不会对特殊字符进行编码。如果设置为“multipart/form-data”,则不会对字符进行编码。使用包含文件上载控件的表单时,必须使用此值。如果设置为application/x-www-form-urlencoded,则在发送之前对所有字符进行编码(默认设置)。Target:设置返回的信息的显示方式。主要有四个值。设置为“_blank”以在新窗口中显示。如果设置为 _parent ,它将显示在父窗口中。设置为“_self”以在当前窗口中显示。设置为“_top”将在顶级窗口中显示。(2)一个表单元素的表单(form)通常包含许多表单元素
4、。常用的表单元素有多个标签,如输入域标签、选择域标签和文本域标签。下面分别进行了说明。输入域标签是表单中最常用的标签之一。常用文本框、密码框、按钮、单选按钮和确认按钮等标记。语法格式如下:参数name表示输入域的名称,参数type表示输入域的类型。标签共有10种类型的输入字段,您选择的类型由type属性决定。Type属性采用表8-1所示的值。选择、域选项卡,然后使用它们创建列表或菜单。菜单可以节省空间,正常情况下只能看到一个选项,单击右侧的下三角形按钮打开菜单可以显示所有选项,只能选择一个菜单。列表可以显示特定数量的选项,超过此数量时,滚动条会自动显示,导航器可以通过拖动到滚动条来查看选项。语
5、法格式如下:选项1选项2选项3.参数name表示选择域的名称。Size参数表示列表中的行数。Value参数表示菜单选项值。参数multiple以列表形式显示数据,省略以菜单形式显示数据。选择字段标签和的显示方式和示例,如表8-2所示。和文本字段标签用于创建多行文本框,您可以在其中输入多行文本。语法格式如下:文本内容!参数name表示文本字段的名称。Rows表示文本字段中的行数。Cols表示文本字段中的列数(rows和cols都是字符单位)。Wrap用于设置文本的换行方式,值“off”表示没有换行。Hard值表示自动硬回车,换行符一起发送到服务器,在输出时执行换行符。如果值为soft,自动软件将
6、自动换行,换行符不会发送到服务器,在输出时将保留为一列。文本字段标签的值和示例显示在表8-3中。知识2表单提交方法和参数值获取方法,1 .提交表单提交表单有两种方法:POST和GET。表单的method属性指定的方式。要以POST方式提交表单,只需将表单的method属性设置为POST。POST方法可以不受限制地传递到服务器端数据,所有信息都在后台发送,用户在浏览器中看不到此过程,并且安全性很高。另外,POST方法不会将信息附加到URL,也不会显示在地址栏中。因此,开机自检方法更适合于保密或将大容量数据传输到服务器。用户名:密码:以上代码输出结果如图8-1所示。GET方法是提交表单的默认方法。
7、使用GET方法提交表单数据时,数据将附加到URL,并作为URL的一部分发送到服务器。因此,您可以在浏览器地址栏中查看用户提交的信息,并在地址栏中输入“URL?用户传递的参数列表。GET方法传递的参数格式如下:http:/url?Para1=value1/另一种调试方法是输出所有cookie print _ r($ _ cookie)。-嗯?上述代码输出结果如下图8-9所示。4。删除cookie如果在生成cookie后未设置过期时间,则关闭浏览器时将自动删除cookie文件。要在关闭浏览器之前删除cookie文件,有两种方法:一种是使用setcookie()函数删除cookie,另一种是手动删除
8、浏览器中的cookie。下面另外介绍。(1)使用setcookie()函数删除cookie和创建cookie的方法基本相似,使用setcookie()函数。删除cookie只需在setcookie()函数中将第二个参数设置为空值,并将第三个参数Cookie的过期时间设置为小于系统的当前时间。例如,将Cookie过期时间设置为从当前时间减去一秒,如set Cookie(“Cookie _ name”,“time ()-1”)在上面的代码中,time()函数返回当前时间戳(以秒为单位),如果将过期时间减少到不到一秒,cookie将过期并被删除。当然,将过期时间设置为零也可能删除cookie。(2)
9、在浏览器中使用手动删除cookie cookie时,cookie会自动生成文本文件,该文本文件存储在IE浏览器的cookie临时文件夹中。从浏览器中删除cookie文件很快。启动IE浏览器,然后选择“工具”/“internet选项”命令以打开“internet选项”对话框。在“常规”选项卡上,单击“删除cookie”按钮将弹出“删除cookie”对话框,单击“,5 .如果cookie的生命周期cookie未设置过期时间,则该生命周期是浏览器会话的时间,只要关闭IE浏览器,cookie就会自动消失。此cookie称为会话cookie,会话cookie存储在内存中,通常不存储在硬盘上。设置过期时间
10、后,浏览器将cookie保存到硬盘上并重新打开IE浏览器时仍然有效,并且在cookie过期之前不会自动删除cookie文件。cookie可以长期保存在客户端浏览器中,但也不是静态的。因为浏览器最多可以存储300个cookie文件,每个cookie文件最多支持4KB。每个域名最多支持20个cookie,达到限制后,浏览器将自动随机删除cookie文件。知识5会话管理,前面提到的cookie可以在客户机上存储一定数量的会话状态,但实际上采用cookie解决会话控制是不现实的。因为cookie本身的容量有限。另一种解决方案是只有客户端存储会话标记,然后将会话数据存储在服务器或数据库中。此解决方案是S
11、ession,下面将详细介绍该Session。1 .理解Session(1)在Session中被翻译为“会话”意味着从开始到结束的一系列操作/消息。在计算机专业术语中,Session表示一个最终用户与交互系统通信的时间间隔,通常是从注册进入系统到注销系统的时间。web会话是用户浏览web站点时进入web站点并关闭浏览器的时间(用户浏览web站点所用的时间)。因此,会话实际上是特定的时间概念,会话基本生命周期为20分钟。(2)使用会话浏览器和服务器进行通信的原因,HTTP协议为stateless。用户从浏览器发送到服务器的每个请求都独立于前面的请求。服务器不知道两个连续的请求是否来自同一用户,可
12、以做的是返回到当前请求的页面。要在服务器上保持客户端状态,必须使用Session。(3)会话的工作原理会话工作更简单,客户端访问服务器时,服务器根据需要设置会话并将会话信息存储在服务器上,同时将唯一标识会话的会话_id传递给客户端浏览器。浏览器将此session_id存储在内存中。此session_id相当于没有过期时间的cookie。浏览器关闭后,cookie将消失,并且不会保存到用户的cookie临时文件中。之后,浏览器可以在每个请求中添加此session_id,以便服务器根据此session_id获取客户机的数据状态。如果客户端浏览器意外关闭,服务器上存储的Session数据不会立即释放
13、,此时也存在数据,只要我们知道Session_id,就可以通过请求继续获取有关此Session的信息。但是,Session的保存有过期时间,如果超过指定时间没有客户端请求,服务器将清除该Session。2 .创建和管理会话创建一个会话主要包括启动会话、注册会话、使用会话和删除会话等步骤,如下所述。(1)启动会话的方法有两种:一种是使用session_start()函数,另一种是使用session_register()函数为会话注册变量,从而隐式启动会话。Session_start()函数创建会话的语法格式为boolsession_start(void)。浏览器在使用session_start(
14、)函数之前必须没有输出(以及标签和空格)。否则,将发生错误,因此必须将session_start()函数调用放在web代码的顶部。Session_register()函数用于为会话注册变量以隐式启动会话,使用session_register()函数时无需调用session_start()函数,PHP在注册变量后将注册session_start(),(2)注册会话变量启动后,它们全部存储在数组$_SESSION中。通过数组$_SESSION创建会话变量后,可以直接向该数组中添加元素。例如,启动会话,创建Session变量并指定值。代码如下:(3)使用会话变量很简单。首先检查会话变量是否存在,如果
15、不存在,则创建它。如果存在,则可以使用数组$_SESSION访问会话变量。例如,(4)删除会话删除会话主要有三种:删除单个会话、删除多个会话和终止当前会话。删除单个会话变量与删除数组元素一样,只需直接注销$_SESSION数组的其中一个元素即可。代码如下:unset($ _ SESSION user );使用Unset()函数时,不能省略$_SESSION数组的元素。也就是说,不能一次注销整个数组。这样,整个会话的功能(如unset($_SESSION)函数)将无法删除和恢复全局变量$_SESSION,用户将无法再注册$_SESSION变量。要删除多个或所有会话,可以使用两种方法:,要同时注销
16、所有会话变量,可以在$_SESSION中指定空数组。代码如下:$ _ SESSION=array();如果整个会话在默认情况下已经结束,则必须使用Session_destroy()函数清除并退出当前会话,然后从会话中清除资源,并使用session_destroy()代码完全删除Session。3 .会话应用程序实例(1)会话控制的简单应用程序此处显示会话应用程序的两个简单PHP页session1.php和session2.php,session1.php代码如下:$ _ SESSIONuser=James;/Session $ _ Sessionadmin=设定John。/Session $
17、_ Sessiontime=time();/Sessionecho设置第2页;-嗯?Session2.php的代码如下所示:Echo$_SESSIONuser。/Sessionecho$_SESSIONadmin. ;/输出session chodate(ymdh : I :s,$ _ sessiontime);-嗯?Session1.php运行结果如图8-10所示,单击图8-10中的“page 2”超链接打开session2.php,运行结果如图8-11所示。(2)认证认证是会话的重要功能。用户登录成功后,将通过会话id继续跟踪用户,无需在每个页面上输入验证信息。但是,如果用户登录失败,但尝试登录站点的其他页面,系统会提示用户没有再次登录。实践中详细介绍了认证的应用。(3)购物车也是会话的重要功能。人们购物的时候总是买各种各样的东西,一次付清。选择商品时,必须始终将商品暂时存放在购物车中,这样用户就可以轻松添加或删除商品。此购物车的实现通过会话完成。模拟制作任务:创建注册表、培训可以使用Session确定用户的访问权限,并防止未
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病理资源标准化与病理科信息化升级
- 工业自动化系统集成与应用方案
- 高中数学计算教学中的教学反思策略研究教学研究课题报告
- 快乐暑假事情日记11篇范文
- 一次难忘的公益活动写人4篇
- 技术创新保障竞争力承诺书5篇
- 电子商务运营与推广策略方案
- 肝胆外科患者活动能力评估与训练
- 在线电商平台反欺诈安全体系完善解决方案
- 胎心监护的护理职业素养
- 消防维保方案(消防维保服务)(技术标)
- GB/T 43084.2-2023塑料含氟聚合物分散体、模塑和挤出材料第2部分:试样制备和性能测定
- GB/T 713.1-2023承压设备用钢板和钢带第1部分:一般要求
- 英美文学选读教案
- 新松agc小车控制台tc操作手册
- 退保证金说明转账方式提供退保证金说明
- 二类费用工程建设其他费用取费标准集合上海市
- 应急管理试题及答案
- xx酒店发布会策划方案
- GB/T 5169.16-2017电工电子产品着火危险试验第16部分:试验火焰50W水平与垂直火焰试验方法
- 第十章环境管理模式课件
评论
0/150
提交评论