上一章节我们讲述了如何用 PHP 超级变量 $_GET 获取 HTML 表单 (Form) 的数据。这一章节我们讲述如何用 PHP 超级变量 $_POST 获取 HTML Form的数据。
当 HTML 表单 (HTML Form) 的 method 为 get 时,$_GET 用来获取 HTML Form 的数据。
当 HTML 表单 (HTML Form) 的 method 为 post 时 , $_POST 用来获取 HTML Form 的数据。
HTML Form 的get 和post 的区别,请参见HTML Form 的get 和post 的区别。
获取 HTML 表单 (HTML Form) 文本输入框 (input type="text") 数据
下面是一个 HTML 文件,这个 HTML 含有一个 HTML Form,主要用来让用户输入用户姓名的。
Name:
当你在这个 HTML Form 的文本框输入框里输入姓名,比如 "Jacky",然后鼠标点击ok 按钮,会跳转到 post.php,显示的输出结果是You are Jacky.。post.php 的源代码如下:
You are <?php echo $_POST["username"]?>.
取表单控件的 name 值,可以获得该表单控件的数据。
比如 "username" 就是表单控件文本输入框的 name 值,
用 $_POST["username"] 可以获得该文本输入框的数据。
获取 HTML 表单 (HTML Form) 单选框 (input type="radio") 数据
取表单单选框的 name 值,可以获得表单单选框的值。
下面是一个含有表单单选框的 HTML 文件,代码如下:
Apple
Orange
Mango
在该HTML 文件里,随便选择一项,比如选择 "Orange",然后点击按钮 ok,浏览器会跳转到 radiopost.php,radiopost.php 的输出结果是 Orange。radiopost.php 的源代码如下:
$_POST["fruit"]中的fruit 是表单单选框的 name 值。
获取 HTML 表单 (HTML Form) 复选框 (input type="checkbox") 数据
用户可以通过 HTML Form 复选框选择多个值,所以 $_POST 得到的不止一个值,是个数组。
在写 HTML Form 复选框的 name 值时注意,name 值最后要加上[ ]。
如下示例,name="fruit[ ]":
Apple
Orange
Mango
checkboxpost.php 的源代码如下:
echo count($_POST["fruit"]),"
";
foreach ($_POST["fruit"] as $value)
{echo $value,"
";
}
?>
如果你选择Orange和Mango,并点击OK按钮,浏览器会跳转到 checkboxpost.php,先用 count 函数得到数组$_POST["fruit"]的元素个数,如果用户选了2项,得到的结果就是2,然后用 foreach 循环输出$_POST["fruit"]每个元素的值,也就是用户所选项目的值,Orange和Mango。