下面继续我们的学习吧,在建立表单的过程中,你一般只会用到两个标志,一个是前面说的; Form>标志,还有就是 ; Input>标志,不要小看它哟,表单里的各种小控件都是由它来建立的。 借助于Input标志的Type属性可以定义输入方法类型,有效值为TEXT,PASSWORD,RADIO,CHECKBOX,SUBMIT,RESET,IMAGE,FILE,HIDDEN和BUTTON. 下面是对这几个输入类型的简要说明:
TEXT 产生简单的单行文本输入字段,为了取得多行文本,用; TEXTAREA>标志PASSWORD 和TEXT一样产生简单的单行文本输入字段,但不会在屏幕上显示输入内容RADIO 产生可开闭的小单选按钮,多项选择可用CHECKBOX型或者; SELECT>标志SUBMIT 产生用于将所有名称数值对提交给表单处理程序的按钮RESET 用于将所有输入方法复位为空值或缺省值IMAGE 将提交按钮变成图形,这个数值与提交按钮一致,只是选择图形时鼠标位置x、y坐标也发送给表单处理程序BUTTON 产生不与脚本进行特定交互功能的按钮
现在我们已经知道如何生成输入小控件了,那么在这些控件里输入的数据怎么传递给我们的程序来处理呢?在d 在INPUT标志中有一个NAME属性专门用于给输入的数值取名,例如: NAME="first".在定义以后,如果想程序访问这个数据,用global申明一下就可以使用喽。如果想定义数据默认值的话,可以用Value属性定义,例如上面程序的 VALUE="我很笨" 就是定义了一个默认值,下面我们来看一个单项选择的实例:
; INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨
; INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨
; INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒
从上面大家可以看出NAME,VALUE的基本用法了吗?什么?还不明白…………(地藏晕倒在地……)
OK,我们的表单使用就简单的讲到这里吧,下面开始我们进入正题 —— PHP处理表单
用PHP来处理表单数据实在是一件非常简单的事情,打个比方就好象你吃饭时用筷子一样,使用非常的自然,没有什么需要特别注意的地方。老样子,大家开始学习以前先看看下面的代码吧。
; html>; head>
; title>调查表;/title>
; meta http-equiv="Content-Type" content="text/html; charset=gb2312">
; /head>
; body bgcolor="#FFFFFF">
; ?php
function display_form() {
global $PHP_SELF;
?>
; FORM action=";?php echo $PHP_SELF; ?>"METHOD=post>
名字: ; INPUT TYPE=TEXT NAME="name">;BR>
单项选择:
; INPUT TYPE=RADIO NAME="first" VALUE="我很笨">我很笨
; INPUT TYPE=RADIO NAME="first" VALUE="我非常笨">我非常笨
; INPUT TYPE=RADIO NAME="first" VALUE="我简直就是个傻冒"> 我简直就是个傻冒 ; br>
多项选择:
; INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢打蓝球">我喜欢打蓝球
; INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢游泳">我喜欢游泳
; INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢跳舞">我喜欢跳舞
; INPUT TYPE=CHECKBOX NAME="second[]" VALUE="我喜欢爬山">我喜欢爬山
; INPUT TYPE=HIDDEN NAME="stage" VALUE= "results">;p>
; INPUT TYPE=SUBMIT VALUE= "谢谢">;/p>
; /FORM>
; ?php
}
?>
//程序开始
; ?php
function process_form()
{
global $name ;
global $first;
global $second;
if ($first == '我很笨') { $first_message = '你不笨。'; }
elseif ($first == '我非常笨') { $first_message = '你很聪明。'; }
else { $first_message = '你简直就象是一个聪明的人了。'; }
$favorite_second = count($second);
if ($favorite_second ;= 1)
{$second_message = '但你很快就会在动物园里死去,忏悔吧!';}
elseif ($favorite_second > 1 && $favorite_second ; 4)
{$second_message = '你是只爱运动的的猩猩。';}
else {$second_message = '你运动的太多了,对猩猩来讲已经过量,你准备棺材吧,:(';}
echo "这是一项针对猩猩的测试:;br>;br>";
echo "你好! 你的名字叫:$name. ;br>;br>";
echo "你的测验结果是……$first_message $second_message";
}
?>
; ?php
if (empty($stage)) { display_form(); }
else { process_form(); }
?>
; /body>
; /html>
上面是一个非常类似调查表的PHP例子,由于程序比较简单,所以没有做什么注解。大家在仔细看程序之前可以把这段代码拷下来在自己机器运行一下先看看实际效果,这样有一个直观的印象。
(编者注:由于数据库的兼容问题,在上文的源代码中的“$”符和上引号请在实际应用中改为半角字符的相应符号。若有不便之处,敬请原谅。)