用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据

时间:2022-09-16 20:12:31

当 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,主要用来让用户输入用户姓名的。 

复制代码代码如下:


<html> 
<body> 
<form action ="post.php" method ="post"> 
Name: <input type="text" name="username" /> 
<input type ="submit" value="ok" /> 
</form> 
</body> 
</html> 


当你在这个 HTML Form 的文本框输入框里输入姓名,比如 "Jacky",然后鼠标点击ok 按钮,会跳转到 post.php,显示的输出结果是You are Jacky.。post.php 的源代码如下: 

复制代码代码如下:


<html> 
<body> 
You are <?php echo $_POST["username"]?>. 
</body> 
</html> 


取表单控件的 name 值,可以获得该表单控件的数据。 

比如 "username" 就是表单控件文本输入框的 name 值, 

<input type="text" name="username" /> 
用 $_POST["username"] 可以获得该文本输入框的数据。 

<?php echo $_POST["username"]?> 
获取 HTML 表单 (HTML Form) 单选框 (input type="radio") 数据 
取表单单选框的 name 值,可以获得表单单选框的值。 

下面是一个含有表单单选框的 HTML 文件,代码如下: 

复制代码代码如下:


<html> 
<body> 
<form action = "radiopost.php" method = "post"> 
<input type="radio" name="fruit" value = "Apple">Apple</input><br /> 
<input type="radio" name="fruit" value = "Orange">Orange</input><br /> 
<input type="radio" name="fruit" value = "Mango">Mango</input><br /> 
<input type="submit" value="ok"> 
</form> 
</body> 
</html> 


在该HTML 文件里,随便选择一项,比如选择 "Orange",然后点击按钮 ok,浏览器会跳转到 radiopost.php,radiopost.php 的输出结果是 Orange。radiopost.php 的源代码如下: 

复制代码代码如下:


<html> 
<body> 
<?php echo $_POST["fruit"]?> 
</body> 
</html> 


$_POST["fruit"]中的fruit 是表单单选框的 name 值。 

获取 HTML 表单 (HTML Form) 复选框 (input type="checkbox") 数据 
用户可以通过 HTML Form 复选框选择多个值,所以 $_POST 得到的不止一个值,是个数组。 

在写 HTML Form 复选框的 name 值时注意,name 值最后要加上[ ]。 

如下示例,name="fruit[ ]": 

复制代码代码如下:


<html> 
<body> 
<form action = "checkboxpost.php" method = "post"> 
<input type="checkbox" name="fruit[ ]" value = "Apple">Apple</input><br /> 
<input type="checkbox" name="fruit[ ]" value = "Orange">Orange</input><br /> 
<input type="checkbox" name="fruit[ ]" value = "Mango">Mango</input><br /> 
<input type="submit" value="ok"> 
</form> 
</body> 
</html> 


checkboxpost.php 的源代码如下: 

复制代码代码如下:


<html> 
<body> 
<?php 
echo count($_POST["fruit"]),"<br />"; 
foreach ($_POST["fruit"] as $value) 
{echo $value,"<br />"; 

?> 
</body> 
</html> 


如果你选择Orange和Mango,并点击OK按钮,浏览器会跳转到 checkboxpost.php,先用 count 函数得到数组$_POST["fruit"]的元素个数,如果用户选了2项,得到的结果就是2,然后用 foreach 循环输出$_POST["fruit"]每个元素的值,也就是用户所选项目的值,Orange和Mango。