PHP入门速成(2)


Posted in PHP onOctober 09, 2006

表单处理

PHP为用户提供了众多方便易用的强大功能。在表单的处理方面,PHP能够自动地将由客户端表单发送的数据赋值给相应变量,从而极大地简化了整个表单的处理过程。

举例来说,用户建立如下表单:

< INPUT TYPE=TEXT NAME=“name” VALUE=“PETER” >

当使用PHP对上述代码进行处理时,PHP自动创建一个名为$name的变量,并将变量值“PETER”赋予该变量。

用户可以直接对PHP创建的变量进行各种操作,例如显示变量值:

echo “Hi $name!”;

或对变量值进行验证:

if ($name == “PETER”) { echo “Please check out your email.”; }

下面,我们就来看一下如何通过使用PHP创建并处理一个基本的表单。在示例当中,我们将会要求表单的填写者回答几个简短的问题,包括输入表单填写者的姓名,电子邮件地址,完成调查问卷等。

这里,我们将所要设计的页面按照功能划分成表单显示和表单处理两个功能模块。这样,用户就不必设计两个不同的页面,而只需要在同一个PHP页面中通过逻辑控制显示或处理相应的功能模块。 A. 表单显示

我们通过第一个功能模块来实现表单的显示。具体代码为:

< ?php

function display_form()

{

global $PHP_SELF;

? >

< FORM TARGET=“< ?php echo $PHP_SELF; ? >”METHOD=GET >

Name: < INPUT TYPE=TEXT NAME=“name” >< BR >

Favorite Fruit: < INPUT TYPE=RADIO NAME=“fruit” VALUE=“apple” >Apple

< INPUT TYPE=RADIO NAME=“fruit” VALUE=“orange” >Orange

< INPUT TYPE=RADIO NAME=“fruit” VALUE=“banana” >Banana

Favorite Times to Eat Fruit:

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“m” >Morning

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“n” >Noon

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“d” >Dinner

< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“l” >Latenight

< INPUT TYPE=HIDDEN NAME=“stage” VALUE= “results” >

< INPUT TYPE=SUBMIT VALUE= “Thanks!” >

< /FORM >

< ?php

}

? >

上述代码中绝大多数都是创建表单所必需的HTML代码。在此,我们仅对所涉及到的PHP知识做一下简单介绍。

首先,我们来看一下代码开始处的变量$PHP_SELF。变量$PHP_SELF是PHP中一个很方便的指针,其变量值就是当前页面的URL地址。这样,我们就可以通过在随后的form标签中将TARGET的值设定为$PHP_SELF,实现由该表单页面处理表单的目的。这里,我们使用$PHP_SELF变量而不使用页面的实际地址,是因为通过使用$PHP_SELF变量,我们可以方便对编写的页面代码进行修改和移动,而不必担心在每次改动之后重新输入新的页面地址。

另外,在使用$PHP_SELF变量时,我们采用了如下方式:

global $PHP_SELF;

这表明代码中的$PHP_SELF变量为全局变量。用户在使用PHP的过程中一定要注意PHP中任何的函数变量都是局部变量。这就意味着任何函数变量的作用域都只局限于包括该变量的函数本身。即使函数外存在同名变量,变量的值也不相同。因此,如果我们没有在代码中以显式方式声明函数变量$PHP_SELF为全局变量具有全局唯一值的话,用户就会发现函数中的变量$PHP_SELF的值将会为空,而不是我们预先所期望的当前页面的URL地址。

用户可能已经注意到我们将表单复选选项的名称设置为times[]数组,而把单选选项的名称设定为fruit常规变量。这是因为单选选项只允许用户选择唯一一个正确选项,因此fruit变量的值只可能是一个字符串;相反,复选选项则允许用户做多重性选择。如果,用户希望PHP能够保存用户可能作出的所有选择的话,就需要使用数组来保存所有的可能值。按照PHP的语法规则,我们通过在变量名times后面加上方括号,使PHP知道该变量是一个数组变量而不是普通的常规变量。

最后,我们设定了一个名为stage的隐含变量,通过使用该变量,我们可以控制是否显示表单还是处理表单结果。  

PHP 相关文章推荐
用在PHP里的JS打印函数
Oct 09 PHP
一些常用的php函数
Dec 06 PHP
编写漂亮的代码 - 将后台程序与前端程序分开
Apr 23 PHP
php结合飞信 免费天气预报短信
May 07 PHP
PHP 事件机制(2)
Mar 23 PHP
php购物车实现代码
Oct 10 PHP
php中cookie的使用方法
Mar 29 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
PHP自定义错误用法示例
Sep 28 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
使用Zookeeper分布式部署PHP应用程序
Mar 15 PHP
用PHP制作静态网站的模板框架
Oct 09 #PHP
PHP5在Apache下的两种模式的安装
Sep 05 #PHP
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 #PHP
教你IIS6的PHP最佳配置方法
Sep 05 #PHP
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 #PHP
PHP环境搭建最新方法
Sep 05 #PHP
初学者入门:细述PHP4的核心Zend
Sep 05 #PHP
You might like
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
Javascript 布尔型分析
2008/12/22 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
详解微信小程序网络请求接口封装实例
2019/05/02 Javascript
Vue 列表上下过渡效果的实例代码
2019/06/25 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
js最全的数组的降维5种办法(小结)
2020/04/28 Javascript
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
python添加模块搜索路径方法
2017/09/11 Python
Python实现快速计算词频功能示例
2018/06/25 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
python网络编程之多线程同时接受和发送
2019/09/03 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
写好自荐信的技巧
2013/11/08 职场文书
物流合作计划书
2014/01/10 职场文书
服务员自我评价
2014/01/25 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
优秀员工推荐材料
2014/12/20 职场文书
离婚协议书范文
2015/01/26 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript