$_GET
$_GET变量用于收集来自 method = “GET” 的表单中的值。从带有GET方法的表单中发送的信息,对任何人都可见(显示在浏览器的地址栏“?”后),对发送的信息量也有限制(最多100个字符)。
$p = $_GET['p']?$_GET['p']:1;
$_POST
$_POST变量用于收集来自method = “POST”的表单中的值。从带有POST方法的表单发送的信息,对任何人都是不可见的,相比GET更加安全,对发送的信息也没有限制。
<form action="welcome.php" method="post">
Name:<input type="text" name="fname">
<br />
Age:<input type="text" name="age">
<br />
<input type="submit">
</form>
<?php
$a=$_POST['fname'];
$b=$_POST['age'];
echo $a."<br />";
echo $b."<br />";
?>
$_REQUEST
$_REQUEST用于接受HTML表单提交的数据。当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name:<input type="text" name="fname"/>
<input type="submit"/>
</form>
<?php
$name=$_REQUEST['fname'];
echo $name;
?>
</body>
</html>
总结:
$_REQUEST存储了通过GET或POST方式发送到php页面的所有数据,以及在cookie中可访问的数据。与 $_GET方式或$_POST相比,其速度较慢。$_GET方式获取浏览器的GET方式传递的数据,在url中可见,安全性差,且数据传送量小,不大于2kB。$_POST方式获取浏览器通过POST方式传递的数据,安全性较高。