表单是PHP程序中最常使用的收集站点访问者信息的数据输入界面。通过表单浏览器获取用户的输入数据,并传送给Web服务器的脚本程序中,以各种不同的方式进行处理。在表单中提供了多种输入方式,包括文本输入域、单选或多选按钮、下拉式列表域等。表单是网页上由<form>标签定义的一个特定区域,而表单的各种输入域可以由<input>、<select>和<textarea> 3个标签定义。
1 表单标签<form>
一个表单用<form></form>标签来创建,即定义表单的开始和结束位置,在开始和结束标签之间的一切定义都属于表单的内容。单击提交按钮时,提交的也是表单范围之内的内容。另外,在<form>标签中需要携带表单的相关信息,例如处理表单的脚本程序的位置、提交表单的方法等。这些信息对于浏览者是不可见的,但对于处理表单却有着决定性的作用。该标签的常用属性如表1所示。
表1 HTML表单标签中常用的属性
<form>标签中必须加action属性,并且不能为空。例如,<form action="login.php" method="post">。如果不需要使用action属性,也必须定义:<form action="no">。
2 文本域和密码域
在<form>标签内定义的<input>标签具有重要的地位,该标签是单个标签,没有结束标记。<input type="">标签用来定义一个用户输入区,用户可以在其中输入信息。<input>标签*提供了9种类型的输入区域,具体是哪一种类型由type属性来决定。文本和密码输入域是一个单行文本框,它们基本相似,唯一不同的是,用户在密码域中输入的字符并不以原样显示,而是将每个字符用“*”代替。文本和密码输入域的基本语法格式如下:
<input type="text" name="field_name" value="field_value" size="n" maxlength="n"> <!-- 输入域 -->
<input type="password" name="field_name" value="field_value" size="n" maxlength="n"> <!-- 密码域 -->
这些属性的含义如表2所示。
表2 HTML中<input>标签的常用属性z
3 提交、重置和普通按钮
在<input>标签中,当type属性值为“submit”时,表示这是一个提交按钮,单击提交按钮后,可以实现表单内容的提交;当type属性为“reset”时,表示这是一个重置按钮,单击重置按钮后,表单的内容将恢复为默认值;当type属性为“button”时,表示这是一个普通按钮,并不实现任何功能,需要和JavaScript等脚本语言一起使用。button按钮必须定义在form之间,否则Netscape浏览器不支持。这3种按钮的基本语法格式如下:
<input type="submit" name="field_name" value="field_value"> <!-- 提交按钮 -->
<input type="reset" name="field_name" value="field_value"> <!-- 重置按钮 -->
<input type="button" name="field_name" value="field_value"> <!-- 普通按钮 -->
4 单选按钮和复选框
单选按钮和复选框都有“选中”和“未选中”两种状态。同一组单选按钮如果有多个选择框,则选择框之间是相互排斥的,只允许用户选择其中的一个。复选框和单选按钮的区别是,复选框允许用户同时选中同一表单中的多个或全部选项,当然,也可以只选其中的一个选项。它们都是只有在“选中”时,数据才能被提交到服务器端。其语法格式如下所示:
<input type="radio" name="field_name" value="field_value" checked> <!-- 单选按钮 -->
<input type="checkbox" name="field_name" value="field_value" checked> <!-- 复选框 -->
在<input>标签中,当type属性值为“checkbox”时,表示这是一个复选框输入域;当type属性值为“radio”时,则表示这是一个单选按钮输入域。但在同一组中的多个单选按钮名称必须相同,它们之间才能相互排斥。单选按钮和复选框都可以通过checked属性设置为选中状态。