用php做一个简单的表单
时间:2007-02-17 来源: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最有用的特性之一是它能够自动将表单中的变量值赋予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处理表单的过程。
php爱好 者站 http://www.phpfans.net php基础|php进阶|php模板.