【php精品源码栏目提醒】:网学会员php精品源码为您提供【精品】第7章构建PHP动态网页 - 其它资料参考,解决您在【精品】第7章构建PHP动态网页 - 其它资料学习中工作中的难题,参考学习。
第7章 构建
PHP动态网页
PHP、ASP、
JSP等脚本语言的作用不仅仅是使用它们提供的函数在服务器上执行,更重要的是,它们提供了静态网页所不具备的与访客交互的能力。
对于同一个静态HTML网页来说,所有的访客访问所获得的都是相同的表现,而脚本语言所编写的交互的动态网页则是千人千面。
不同的访客访问,就会呈现该访客特定的表现。
以脚本语言编写的动态网页经常用于访客向网站提交留言、发表信息等操作。
2 7.1 Web表单及其常用元素简介访客之所以能够与网站的动态网页交互,全靠HTML标准里提供的用于访客提交信息的Web表单,使用表单,访客就可以输入、选择各种信息,并向服务器提交。
3 7.1.1 表单标记formHTML表单form是
HTML的一个重要部分,主要用于采集和提交用户输入的信息,表单允许客户端的用户以标准格式向服务器提交数据。
HTML网页中定义表单的标记是,这种标记需要成对出现,在两者中间插入表单的其他元素或者HTML代码。
form标记的几个属性如下。
name id action method表单还有一个重要的事件:onsubmit,当表单要提交时触发,一般使用这个事件做一些用户输入检测,检测用户的输入值是否合法。
4 7.1.2 输入标记input与文本框type属性用于指出输入标记的类型,有 input type“text”单行文本输入框 input type“pass
word”密码输入框 input type“submit”提交 input type“reset”取消 input type“button”按钮 input type“radio”单选按钮 input type“checkbox”复选框 input type“hidden”隐藏 input type“file”文件上传 input type“image”图像 5 7.1.3 按钮除去两种特定用途的按钮submit提交和reset重置外,其他需要用于和表单交互的就是不具特殊功能的普通按钮,特殊按钮只有用于表单才能发挥特殊的作用,而普通按钮除可在表单中应用外,在网页的其他地方使用也很方便。
例如:代码运行结果如图7-2所示。
6 7.1.4 单选按钮与复选框使用单选按钮,让用户在相同名字的一组选项里只能选择一个。
示例代码如下: 管理员性别:男女运行结果如图7-3所示。
7 7.1.5 多行文本区标记textarea及FCKeditor简介多行输入框textarea主要用于输入较长的文本信息,如访客留言的输入框或者新闻发布系统的正文编辑框。
下面是一个textarea的例子: 其中cols表示textarea的宽度,rows表示textarea的 高度,显示几行的输入。
图7-6是
系统默认的多行文本区演示,只能输入普通文本,不能实现丰富的用户输入界面。
8 7.1.5 多行文本区标记textarea及FCKeditor简介FCKeditor是一个专门使用在网页上的开放源代码的所见即所得文字编辑器,它致力于轻量化,不需要太复杂的安装步骤即可使用。
图7-7是使用了FCKeditor扩充功能后的多行文本域
演示,可以方便地对输入的内容进行排版修饰,可以方便地插入图片和flash动画,使用起来就像Word一样方便。
9 7.1.6 下拉框与列表框标记select下拉框select既可以用做单选,也可以用做复选。
单选例句如下: 我的喜爱:旅行购物影视运行结果如图7-8所示。
10 7.1.6 下拉框与
列表框标记select如果要选项可以复选,则在select语句中加上multiple即可,访客用Ctrl键加鼠标点击来实现多选。
例如: 我的喜爱:旅行购物影视运行结果如图7-9所示。
11 7.1.7 在Web页面中嵌入
PHP代码
PHP、ASP这些动态脚本语言的最终目的就是要被Apache、IIS等Web服务器解释并生成标准的HTML
源代码供浏览器解析。
PHP页面的运行效果如图7-11所示。
12 7.2
PHP获取Web表单数据表单的内容一旦提交给Web服务器,则该服务器就需要获取表单提交过来的数据并作出相应的处理,从而实现与浏览器客户端的交互。
13 7.2.1 GET方法和POST方法GET方法是将表单控件的name/value信息经过编码之后,通过URL发送到服务器,我们可以在浏览器地址栏里看到发送后的这个URL地址。
而POST则将表单的内容通过HTTP发送,我们在地址栏中是看不到表单的提交信息的。
下面分别来演示以GET方法和POST方法提交表单数据,注意观察浏览器的地址栏。
1 GET方法代码: 参见教材P133 该网页代码的运行情况如图7- 12所示。
2 POST方法脚本代码: 参见教材P134 运行该代码的网页将如图7-14 所示。
14 7.2.2
PHP接收表单数据根据表单提交方式的不同,
PHP分别使用_GET和_POST两个超全局变量来获取通过GET方法或者POST方法提交过来的数据。
我们分别改写前面的两个
PHP脚本如下。
1 获取GET方法提交的 数据: 参见教材P136 运行结果如图7-16所示。
2 获取POST方法提交 的数据: 参见教材P137 运行结果如图7-17所示。
15 7.2.3
PHP获取环境变量
PHP中经常使用的环境变量可以用超全局变量_SERVER来获得,_SERVER是一个包含诸如头信息Header、路径Path和脚本位置Script Locations的数组,该数组
常用的元素如下。
PHP_SELF argv argc SERVER_ADDR SERVER_NAME SERVER_SOFTWARE SERVER_PROTOCOL REQUEST_METHOD REQUEST_TIME QUERY_STRING DOCUMENT_ROOT HTTP_ACCEPT HTTP_ACCEPT_CHARSET HTTP_ACCEPT_ENCODING HTTP_ACCEPT_LANGUAGE HTTP_CONNECTION HTTP_HOST 16 7.2.3
PHP获取环境变量HTTP_REFERERHTTP_USER_AGENTHTTPSREMOTE_ADDRREMOTE_HOSTREMOTE_PORTSCRIPT_FILENAMESERVER_ADMINSERVER_PORTSERVER_SIGNATUREPATH_TRANSLATEDSCRIPT_NAMEREQUEST_URIPHP_AUTH_DIGESTPHP_AUTH_USERPHP_AUTH_PWAUTH_TYPE 17 7.2.4
PHP获取URL参数GET方法向Web服务器提交数据,是通过URL地址显示传递各参数的,于是,我们就可以根据这个规律直接构造URL字符串来访问Web服务器,无需再写表单页,或者使用超级链接的方式创建目录列表页,比写表单页更加方便快捷: 参见教材P140如果要传递的参数超过1个,中间就用“”连接,如news.phpid1page1。
187.3 动态网页中常用的JavaScript验证可以使用正则表达式来判断表单字段值的有效与否。
下面假设我们有这样一个表单需要增加验证: E-mail: 手机: 电话: 19 7.3.1 姓名验证姓名一般是text类型的input控件,它需要输入中文、字母或者数字和下划线,一般长度不能太短,因此,它的js
JavaScript验证代码为: ifdocument.jstest.name.value.length