网站建设 PHP与Web页面交互.ppt_第1页
网站建设 PHP与Web页面交互.ppt_第2页
网站建设 PHP与Web页面交互.ppt_第3页
网站建设 PHP与Web页面交互.ppt_第4页
网站建设 PHP与Web页面交互.ppt_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、08模块PHP与网页交互,这是学习PHP编程语言的基础。交互性也是区分动态网站和静态网站的一个重要特征。本模块将详细描述表单和常用表单元素、表单数据的提交方法、表单参数值的获取方法、PHP、Cookie和Session中各种表单元素值的获取等相关知识。1,能力目标1可以进行简单的用户注册或登录表单2可以编写PHP代码来获取各种表单元素的值3可以使用Session来判断用户的访问权限知识目标1表单标签的各种属性的含义2标签的属性和用法如输入字段和文本字段3表单提交方法POST和GET 4$_POST,$_GET和$_SESSION是获取参数值的三种方法:5创建、读取和删除5Cookie以及启动、

2、注册、删除和使用生命周期6Session。2,知识1表格和常见表格元素。网页表单通常由表单标签和各种表单元素组成,下面将介绍这些内容。(1)表单标签表单的HTML标签是,可以通过使用标签并在其中插入相关表单元素来创建表单。表单结构如下:/省略插入的表单元素、和标签的属性如下所示。名称:表单的名称。用户可以自己定义表单的名称,最好给表单一个有意义的名称。方法:表单提交方法,通常是POST或GET,它们之间的区别将在知识点2中详细描述。操作:指定处理表单页面的网址,表单页面通常是一个具有数据处理能力的网络程序,如带有后缀的动态网页。php。asp或。jsp。4、enctype:设置表单内容的编码方

3、式,主要有三个值。设置为文本/纯文本会将空格转换为加号,但不会对特殊字符进行编码。设置为多部分/表单-数据不编码字符。当使用包含文件上载控件的窗体时,必须使用此值。设置为application/x-www-form-URL encoded,在发送前对所有字符进行编码(默认)。目标:设置返回信息的显示模式,有四个主要值。设置为_blank以在新窗口中显示;设置为_parent以在父窗口中显示;设置为_self以在当前窗口中显示;设置为_top以显示在顶层窗口中。一个表单通常包含许多表单元素。常用的表单元素有以下标签:输入字段标签、选择字段标签和文本字段标签等。下面分别介绍它们。输入字段标签是表单

4、中最常用的标签之一。常用的文本框、密码框、按钮、单选按钮和复选框都用标签表示。语法格式如下:参数名称是指输入字段的名称,参数类型是指输入字段的类型。选项卡中总共提供了10种类型的输入字段,用户选择的类型由类型属性决定。类型属性的值和示例如表8-1所示。6、7、8、9,选择域标签并使用它来构建列表或菜单。菜单可以节省空间,正常情况下只能看到一个选项,所有选项都可以通过点击右侧下方的三角形按钮打开菜单,并且只能从菜单中选择一个选项。该列表可以显示一定数量的选项。如果超过这个数字,滚动条将自动出现,查看者可以拖动滚动条查看选项。语法格式如下:选项1选项2选项3参数名称表示所选字段的名称;参数大小指示

5、列表中的行数;参数值表示菜单选项值;参数倍数表示数据以列表模式显示,如果省略,数据以菜单模式显示。所选域标签和的显示模式和示例见表8-2。10、11、文本字段标签用于制作多行文本框,可以在其中输入多行文本。语法格式如下:文本内容!参数名称表示文本字段的名称;行数表示文本字段中的行数;列表示文本字段中的列数(行和列都是字符);换行用于设置文本的换行模式,值为off表示没有自动换行。值为hard表示自动硬回车,换行标记一起发送到服务器,输出时也会出现换行。软值表示自动软件换行,换行标记不会发送到服务器,但在输出时仍然是一列。文本字段标签的值和示例如表8-3所示。12、13、知识2表单提交方法和参数

6、值获取方法、1表单提交方法有两种表单提交方法:POST和GET。所使用的方法由窗体的方法属性指定。要以开机自检模式提交表单,只需将表单的方法属性设置为开机自检。开机自检可以无限制地向服务器传输数据,所有信息都在后台传输。用户在浏览器中看不到这个过程,因此它具有很高的安全性。此外,开机自检方法不会将信息附加到网址,也不会在地址栏中显示。因此,开机自检更适合向服务器发送一些机密或大容量数据。14、用户名:密码:以上代码的输出结果如下图8-1所示。15、16、get模式是表单提交的默认模式。当通过GET提交表单数据时,数据被附加到网址,并作为网址的一部分发送到服务器。因此,用户提交的信息可以在浏览器

7、的地址栏中看到。用户传递的参数列表”。GET传递的参数格式如下:http:/url?Para1=value1 /另一种调试方法是输出所有cookie print _ r($ _ cookie);上述代码的输出结果如下图8-9所示。48、49、4删除cookie创建Cookie时,如果未设置其过期时间,浏览器关闭时将自动删除其Cookie文件。如果要在关闭浏览器之前删除Cookie文件,有两种方法:一种是使用setCookie()函数删除它,另一种是在浏览器中手动删除Cookie。下面分别介绍。50、(1)使用setcookie()函数删除cookie基本上类似于创建cookie,并且还使用了s

8、etcookie()函数。要删除cookie,只需将setcookie()函数中的第二个参数设置为空值,并将第三个参数cookie的到期时间设置为小于系统的当前时间。例如,将Cookie的过期时间设置为当前时间减1秒,代码如下:setcookie (cookie _ name,time()-1);在上面的代码中,time()函数返回以秒表示的当前时间戳,过期时间是通过从过期时间中减去一秒来获得的,因此删除了Cookie。当然,如果过期时间设置为0,也可以删除Cookie。在浏览器中手动删除cookies使用cookies时,cookies会自动生成一个文本文件并将其存储在IE浏览器的Cooki

9、es临时文件夹中。在浏览器中删除Cookie文件非常快。具体操作步骤如下:启动IE浏览器,选择“工具”/“互联网选项”命令,打开“互联网选项”对话框。点击“常规”标签中的“删除cookie”按钮,弹出“删除cookie”对话框。单击“确定”按钮,成功删除所有Cookie文件。cookie的生命周期如果没有设置cookie的到期时间,则意味着cookie的生命周期是浏览器会话的时间。只要IE浏览器关闭52,5Cookie就会自动消失。这种Cookie称为会话Cookie,它保存在内存中,但不保存在硬盘中。如果设置了过期时间,浏览器会将Cookie保存到硬盘上,当ie浏览器再次打开时,它将继续有效

10、,并且系统不会自动删除Cookie文件,直到Cookie过期。虽然Cookie可以在客户端浏览器中存储很长时间,但它们不是静态的。因为浏览器最多可以存储300个Cookie文件,并且每个Cookie文件支持4KB的最大容量。每个域名最多支持20个Cookies。如果达到限制,浏览器将自动随机删除cookie文件。知识5会话管理虽然上面提到的Cookie可以在客户端上保存一定数量的会话状态,但是使用Cookie来解决会话控制是不现实的,因为Cookie的容量是有限的。因此,这里提供了另一个解决方案,即,只有一个会话标识符保存在客户机上,然后会话数据存储在服务器或数据库上。此解决方案是会话,会话的

11、相关知识将在下面详细描述。理解会话(1)什么是会话会话(Session Session)翻译为“会话”(Session),其原始含义是指从头到尾的一系列动作/消息。在计算机术语中,会话指的是终端用户和交互系统之间的时间间隔,通常指的是从注册到退出系统所经过的时间。具体到网络会话,指用户浏览网站时从进入网站到关闭浏览器的时间,即用户浏览网站所花费的时间。因此,会话实际上是一个特定的时间概念,会话的默认生命周期是20分钟。55、(2)为什么使用会话浏览器使用无状态的HTTP协议与服务器通信。用户从浏览器向服务器发出的每个请求都独立于先前的请求。服务器无法知道两个连续的请求是否来自同一个用户。它所能

12、做的就是返回当前请求的页面。为了保持服务器上的客户端状态,有必要使用会话。会话的工作原理会话的工作原理相对简单。当客户端访问服务器时,服务器根据需要设置会话,将会话信息保存在服务器上,并将唯一标识会话的会话id发送给客户端浏览器。浏览器将这个session_id保存在内存中,这相当于一个没有过期时间的Cookie。浏览器关闭后,该Cookie将被清除,并且不会存储在用户的Cookie临时文件中。将来,浏览器会将这个session_id添加到每个请求中,服务器可以根据这个session_id获取客户端的数据状态。如果客户端浏览器意外关闭,服务器保存的会话数据将不会立即释放,此时数据仍将存在。只要

13、我们知道会话id,我们就可以通过请求继续获取该会话的信息。但是,会话有一个到期时间,一旦没有超过指定时间的客户端请求,服务器将清除会话。创建和管理会话创建会话主要包括启动会话、注册会话、使用会话和删除会话的步骤。(1)有两种启动会话的方法:一种是使用session_start()函数,另一种是使用session_register()函数为会话注册一个变量来隐式启动会话。Session_start()函数以下列语法格式创建会话:bool session _ start(void);在使用session_start()函数之前,浏览器不能有任何输出(包括和标签以及任何空格),否则会出现错误,所以对

14、session_start()函数的调用应该放在网页代码的顶部。Session_register()函数用于为会话注册一个变量,以隐式启动会话。使用session_register()函数时,不需要调用session_start()函数。注册变量后,PHP将隐式调用会话开始函数。58、(2)注册会话的会话变量启动后,它们都保存在数组$_SESSION中。通过数组$_SESSION创建会话变量很容易,只需直接向数组中添加一个元素。例如,启动会话,创建会话变量并赋值。代码如下:59、(3)使用会话变量非常简单。首先,您需要判断会话变量是否存在,如果不存在,就创建它;如果它存在,您可以使用数组$_S

15、ESSION访问会话变量。例如:60、(4)删除会话有三种主要类型:删除会话、删除多个会话和结束当前会话。就像删除数组元素一样,删除单个会话变量可以简单地注销$_SESSION数组的一个元素。代码如下:未设置($ _ SessionUser);当使用unset()函数时,应该注意到$_SESSION数组中的一个元素不能被忽略,也就是说,整个数组不能一次注销。这将禁止整个会话的功能。例如,unset($_SESSION)函数将销毁全局变量$_SESSION,并且无法恢复它。用户不能再注册变量$_SESSION。如果要删除多个或所有会话,可以使用以下两种方法。如果您想一次注销所有会话变量,可以使用

16、以下代码将空数组赋给$ _ SESSION:$ _ SESSION=array();如果整个会话已经基本结束,我们应该首先注意销毁所有会话变量,然后使用session_destroy()函数清除并结束当前会话,清空会话中的所有资源,并完全销毁会话。代码如下:session _ destroy();会话应用示例(1)会话控制的简单应用在这里,制作了两个简单的PHP页面session1.php和session2.php来演示会话的应用。SESSIONuser的代码如下:/设置会话$_SESSIONadmin=约翰;/设置会话$_SESSIONtime=时间();/设置会话回显页面2;63,Session2.php代码如下:echo $_SESSIONuser。/输出会话回应$_SESSIONadmin。/输出会话回应日期(y m d h :i 3360s,$ _会话时间);session1.php的运行结果如图8-10所示。点击图8-10中的“第2页”超链接打开session2.php,运行结果如图8-11所示。认证认证认证是会话的一个重要功能。一旦用户成功登录,将通过会话id跟踪用户,并且不要求用户在每个页面上输入身份验证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论