用php做一个简单的表单

发表于:2007-07-14来源:作者:点击数: 标签:
PHP最有用的特性之一是它能够自动将表单中的变量值赋予PHP变量。这使得表单处理变得非常快捷。 因此,如果你送出一个内含输入栏位值的表单如下: INPUT TYPE=TEXT NAME=name VALUE=Glen Morris 当你用PHP处理此页面,$name变量的值就会是 Glen Morris。 因此
PHP最有用的特性之一是它能够自动将表单中的变量值赋予PHP变量。这使得表单处理变得非常快捷。



因此,如果你送出一个内含输入栏位值的表单如下:

<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">

当你用PHP处理此页面,$name变量的值就会是 Glen Morris。

因此,你可以用如下的方式把值打印出来:

echo "Hi $name!";

或者像这样测试其值:

if ($name == "Glen Morris") { echo "Please check your email."; }

这有一个用PHP处理基本表单的很好方法。例如,我们需要做一个简单的问卷调查,要求填写者必须填写他们的姓名,电子邮件地址,并回答一些我们感兴趣的问题。

首先,我们会将页面拆成两个函数。因此,我们只需要写一个 PHP页面并用程序逻辑去控制对用户的显示内容就可以了,而不是写两个单独的网页(一个针对表单部分,另外一个针对处理表单的CGI脚本)。

显示表单
第一个函数用来显示表单:

<?php

functiondisplay_form() {

global $PHP_SELF;

?>

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

Name: <INPUT TYPE=TEXT NAME="name"><BR>

Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie

<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar

<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella

Favorite Times to Eat Cheese:

<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">Late night

<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">

<INPUT TYPE=SUBMIT VALUE="Thanks!">

</FORM>

<?php

}

?>
PHP最有用的特性之一是它能够自动将表单中的变量值赋予PHP变量。这使得表单处理变得非常快捷。



因此,如果你送出一个内含输入栏位值的表单如下:

<INPUT TYPE=TEXT NAME="name" VALUE="Glen Morris">

当你用PHP处理此页面,$name变量的值就会是 Glen Morris。

因此,你可以用如下的方式把值打印出来:

echo "Hi $name!";

或者像这样测试其值:

if ($name == "Glen Morris") { echo "Please check your email."; }

这有一个用PHP处理基本表单的很好方法。例如,我们需要做一个简单的问卷调查,要求填写者必须填写他们的姓名,电子邮件地址,并回答一些我们感兴趣的问题。

首先,我们会将页面拆成两个函数。因此,我们只需要写一个 PHP页面并用程序逻辑去控制对用户的显示内容就可以了,而不是写两个单独的网页(一个针对表单部分,另外一个针对处理表单的CGI脚本)。

显示表单
第一个函数用来显示表单:

<?php

functiondisplay_form() {

global $PHP_SELF;

?>

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

Name: <INPUT TYPE=TEXT NAME="name"><BR>

Favorite Cheese: <INPUT TYPE=RADIO NAME="cheese" VALUE="brie">Very soft French Brie

<INPUT TYPE=RADIO NAME="cheese" VALUE="cheddar">Farmhouse English Cheddar

<INPUT TYPE=RADIO NAME="cheese" VALUE="mozzarella">Italian Buffalo Mozzarella

Favorite Times to Eat Cheese:

<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">Late night

<INPUT TYPE=HIDDEN NAME="stage" VALUE="results">

<INPUT TYPE=SUBMIT VALUE="Thanks!">

</FORM>

<?php

}

?>



首先,如同我们处理$PHP_SELF一样,我们获取表单里面的全局变量。然后检查cheese选项中哪一个被选中以按选择创建回应。



下面,我们使用count()函数,以计算被选为喜好时段的时段数。在过去,必须通过检查$cheese每一个可能的值来实现,而现在我们只要利用大于、小于来比较$favorite_times的大小就可以了。如果你希望知道“$favorite_times > 1 && $favorite_times < 4”中“&&”的含义,它表示“and”。因此,$favorite_times必须大于一而且小于四,此条件才能成立。

在代码最后,我们输出用户名以及我们提供给他的信息。当然,你也可以实现各种各样有趣的变化,例如,将信息存在数据库中,或通过查询数据库中信息并以适当格式返回结果。

组合表单
现在我们已得到此二函数,接着只需要再放入一小段代码,就可以把二者连接一起,并建立代码所需的逻辑关系。在display_form() 以及process_form() 下加入以下代码:



<?php

if (empty($stage)) { display_form(); }

else { process_form(); }



?>



首先,我们检查变量$stage是否为空。在 PHP中,一个变量如果未曾初始化(即未曾赋值)或其值为零(也就是被赋值为零,即空白字串或者是零值),则该变量被视为空值。当用户首次访问网页时,$stage变量值为空。因此我们希望显示表单;否则我们将处理表单内容。



以上即如何使用PHP处理表单的过程。

原文转自:http://www.ltesting.net