- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 用PHP进行Web编程 PHP是开发Web应用的首选语言之一,也是最佳选择。PHP本身就是为Web而生的。它提供了一系列可以使Web开发更加方便、更加容易的功能和特性。 本章先介绍用PHP进行Web编程的一些基本用法,了解用PHP进行Web编程的一些特性,接着通过一个简单的完整实例实践这些用法和特性,加深对使用PHP进行Web编程的理解和掌握。 3.1 PHP的Web编程基础 本节将讲述最基本的PHP Web编程知识,诸如获取表单数据、处理表单数据、PHP中的Session和上传文件等。 3.1.1 访问和获取HTML表单数据 在PHP中,可以通过两个预定义变量,很方便地获取HTML表单数据。这两个预定义变量在前面提及过:$_GET和$_POST。它们都是PHP的自动全局变量,可以直接在PHP程序中使用。 变量$_GET是表单数据组成的数组,它由HTTP的GET方法传递的表单数据组成。表单元素的名称就是数组的“索引”。这就是说,通过表单元素的名称(即name属性的值),就可以获得该表单元素的值。例如某表单中,有一个文本输入框,名称为“user_name”,那么在PHP程序中,就可以通过$_GET[‘user_name’]获取文本框中用户输入的值。 变量$_POST的用法和$_GET类似。通过HTTP的POST方法获取的表单数据,都将存放在该变量中,该变量也是一个数组。 3.1.2 用PHP处理表单数据 在上小节的文档3-1.html中,对于表单中的“爱好”多选框,只选择了“阅读”一项。如果做了多个选择,再提交表单,.php输出的结果就有所不同。 所选择的3个checkbox,只有最后1个的值被输出了,其他两个选项的值没有被输出,这并不是所期望的结果。之所以出现这种情况,是因为多选按钮元素checkbox的名称都为“hobby”,而PHP要求,如果表单元素同名,就必须以数组方式命名,并为其value属性赋值,这样PHP才能正确取值。 因此,首先修改3-1.html的中表单元素checkbox的名称,以数组方式命名checkbox元素,即在原来的名称“hobby”后加上“[]”, 3.1.3 用PHP验证表单数据有效性 在上小节的文档3-1.html中,对于表单中的“爱好”多选框,只选择了“阅读”一项。如果做了多个选择,再提交表单,3-2.php输出的结果就有所不同。提交表单后,,所选择的3个checkbox,只有最后1个的值被输出了,其他两个选项的值没有被输出,这并不是所期望的结果。之所以出现这种情况,是因为多选按钮元素checkbox的名称都为“hobby”,而PHP要求,如果表单元素同名,就必须以数组方式命名,并为其value属性赋值,这样PHP才能正确取值。 3.1.4 PHP中的session session是Web开发中最常见的概念,也是最常用的功能之一。简单地说,是session是指用户进入网站到浏览器关闭的这段时间(或过程)。 HTTP是面向无连接(或无状态)的协议。这意味着,在HTTP中,一个完整的请求/响应过程结束之后,客户端(即浏览器)和服务器端的链接就已中断。此时,如果用户再从当前页面访问其他页面,即向服务器发出请求,服务器端并不知道此请求是哪个用户发起的,因此也就无法得知用户的浏览状态。这样就遇到一个问题:当前页面中的某个数据(或变量),无法在接下来访问的页面中使用。而在实际的Web开发中,经常要在页面之间传递数据,而且不同的访问用户 ,传递的数据是不同的。虽然解决这个问题的办法有很多,但通过session解决这个问题,会更加方便、快速、有效。通过session记录用户的有关信息,以供用户以此身份向服务器发起请求时,服务器能够根据session做出正确的判断,区分不同用户的请求。 3.1.5 PHP中的文件上传处理 在Web开发中,经常会遇到从客户端上传文件到服务器端的问题。通常,文件上传使用的是HTTP的POST方式,使用POST方式传递文件到服务器端。要完成文件上传处理,首先要定义HTML表单的enctype属性为”multipart/form-data”,如下代码所示。 form enctype=”multipart/form-data” action=”somefile.php” method=”POST” 在PHP程序中,使用全局变量$_FILES处理文件上传。$_FILES是一个数组,包含了要上传的文件的信息。下面,以上述HTML表单为例,介绍$_FILES数组的内容。 3.1.5 PHP中的文件上传处理 $_FILES[‘myfile’][‘name’]表示客户端文件的原始名称,即要上传的文件的文件名。其中myfile就是在代码3-6中定义的input元素的name
文档评论(0)