
第3章用PHP进行Web编程.ppt
14页第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”,如下代码所示•












