在PHP中,$_GET数组获取使用GET方式提交的表单数据
语法:变量名=$_GET["name"]; //name指表单元素name属性值
$_GET[]与$_POST[]的区别:
GET方式会将表单中的数据以URL字符串的形式发送给服务器
将test.php以GET方式提交,浏览器地址栏会显示
http://localhost/test.php?key1=value1&key2=value2
以"?"开头的字符串称为URL字符串,则$_GET["key1"]=value1、$_GET["key2"]=value2;
将test.php以POST方式提交,浏览器地址栏会显示
http://localhost/test.php
所以POST方式提交表单比GET方式提交表单更安全,不会泄露机密数据,且以POST方式发送数据对字节数没有限制。
设置URL字符串的方法
(1)在超链接的href属性值中的URL后添加URL字符串
(2)在表单action属性值中的URL后添加URL字符串
(3)直接在浏览器地址栏中的网页URL后手动输入URL字符串
注意:表单设置为GET方式提交时,若表单action属性值也设置URL字符串,将发生冲突,这时action属性值中的URL字符串将无效。
因为如果action属性值中有字符串表单只能设置为POST方式提交。
代码:
<html>
<head>
<title>使用$_GET[]获取表单数据</title>
</head>
<body>
<?php if(!isset($_GET["submit"])): ?>
<form action="#" method="get">
帐户:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
性别:<input type="radio" name="Sex" value="1" checked="checked"/> 
<input type="radio" name="Sex" value="0"/><br/>
爱好:<input type="checkbox" name="hobby[]" value="篮球"/>篮球
<input type="checkbox" name="hobby[]" value="足球"/>足球
<input type="checkbox" name="hobby[]" value="羽毛球"/>羽毛球<br/>
<input type="submit" value="提交" name="submit"/>
</form>
<?php endif; ?>
<?php
if(isset($_GET["submit"])){
$name=$_GET["username"];
$pw=$_GET["password"];
$hobby=$_GET["hobby"];
$len=count($hobby);
echo "你好,$name";
if($_GET["Sex"]==1)
echo "先生:<br/>";
else
echo "女士:<br/>";
echo "您的爱好是:";
for($i=0;$i<$len;$i++)
echo "$hobby[$i]"." ";
echo "<br/>";
echo "<a href='JavaScript:history.back()'>修改</a>";
}
?>
</body>
</html>
运行截图: