景初

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在PHP中,可以通过两个预定义变量很方便的获取HTML表单数据。这两个与定义变量会在前面提及过:$_GET和$_POST。它们都是PHP的自动全局变量,可以直接在PHP程序中使用。

*变量$_GET是表单数据组成的数组,它由HTTP的GET方法传递的表单数据组成。表单元素的名称就是数组的“索引‘。也就是说,通过表单元素的名称(即name属性的值),就可以获得该表单元素的值。例如某表单中,有一个文本输入框,名称为”user_name“,那么在PHP程序中,就可以通过$_GET['user_name']获取文本框中用户输入的值。

*变量$_POST的用法和变量$_GET类似。通过HTTP的POST方法获取的表单数据,都将存放在该变量中,该变量也是一个数组。


<html>
<heda>
<title>3-1</title>
</head>
<body>
<form name="form1" method="POST" action="3-2.php">
输入姓名:<input name="user_name" type="text"><br/><br/>
选择性别:<input name="gender" type="radio" value="male">男<input name ="gender" type="radio" value="female">女<br/><br/>
兴趣与爱好:<input name="hobby" type="checkbox" value="reading">阅读<input name ="hobby" type="checkbox" value="internet">上网<br/><br/>
选择职业:
<select name="occup">
<option value="engineer">工程师</option>
<option value="techer">教师</option>
<option value="doctor">医生</option>
<option value="other">其他</option>
</select><br/><br/>
<input type="submit" value="提交数据">
</form>
</body>
</html>
当表单提交时,表单元素的值由POST方式交由当前目录下的3-2.PHP

<?php
$user_name=$_POST['user_name'];
$gender=$_POST['gender'];
$hobby=$_POST['hobby'];
$prof=$_POST['occup'];

echo "用户名:".$user_name."<br/>";
echo "性别:".$gender."<br/>";
echo "爱好:".$hobby."<br/>";
echo "职业:".$prof."<br/>";

?>

PHP输出的值,就是HTML表单元素的value属性所赋的值,这些值是当表单提交时,传给全局变量$_POST的。表单中每个元素的值,都将以元素的name属性的值作为索引,存入数组变量$_POST中。在PHP程序中,通过访问$_POST数组,来获取HTML表单元素的值。

===========用PHP处理表单数据===============

如上例子,当选择多个checkbox,只有最后一个的值被输出了,其他两个选项的值没有被输出,之所以出现这种情况,是因为多选按钮元素,checkbox的名称都为hobby,而PH要求,如果表单元素同名,就必须以数组方式命名checkbox元素,即在原来的名称”hobby“后加上[]。

兴趣与爱好:<input name="hobby[]" type="checkbox" value="reading">阅读<input name ="hobby[]" type="checkbox" value="internet">上网<br/><br/>
访问数组

$hobby=$_POST['hobby'][0].'\'.$_POST['hobby'][1]."\";

===============表单的验证====================

<?php
$user_name=$_POST['user_name'];
$gender=$_POST['gender'];
$hobby=$_POST['hobby'][0]."/".$_POST['hobby'][1];
$prof=$_POST['occup'];

if($user_name=="")
{
	echo "请返回输入用户名!";
	exit;


}
if($gender=="")
{
	echo "请返回选择性别!";
	exit;
}
if($hobby=="")
{
	echo "请返回选择兴趣与爱好";
	exit;
}
echo "用户名:".$user_name."<br/>";
echo "性别:".$gender."<br/>";
echo "爱好:".$hobby."<br/>";
echo "职业:".$prof."<br/>";s

?>





版权声明:本文为博主原创文章,未经博主允许不得转载。

posted on 2014-04-18 10:48  景初  阅读(132)  评论(0编辑  收藏  举报