PHP的$_GET和$_POST用于检索表单中的值,比如用户输入。
1.PHP表单处理
表单实例:
<html>
<body>
<form action="welcome.PHP"method="post">
Name:<input type="text"name="name"/>
Age:<input type="text"name="age"/>
<input type="submit"/>
</form>
</body>
</html>
上面的HTML页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往"welcome.PHP"这个文件。
"welcome.PHP"文件类似这样:
<html>
<body>
Welcome<?PHP echo $_POST["name"];?>.<br/>
You are<?PHP echo $_POST["age"];?>years old.
</body>
</html>
上面这个脚本的输出样本类似这样:
Welcome John.
You are 28 years old.
我们将在下一章解释PHP $_GET和$_POST。
2.表单验证
应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。
3.PHP $_GET
$_GET变量用于收集来自method="get"的表单中的值。$_GET变量是一个数组,内容是由HTTP GET方法发送的变量名称和值。$_GET变量用于收集来自method="get"的表单中的值。从带有GET方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多100个字符)。
例子
<form action="welcome.PHP"method="get">
Name:<input type="text"name="name"/>
Age:<input type="text"name="age"/>
<input type="submit"/>
</form>
当用户点击提交按钮时,发送的URL会类似这样:(www.xing528.com)
http://www.w3school.com.cn/welcome.PHP?name=Peter & age=37
"welcome.PHP"文件现在可以通过$_GET变量来获取表单数据了(请注意,表单域的名称会
自动成为$_GET数组中的ID键):
Welcome<?PHP echo $_GET["name"];?>.<br/>
You are<?PHP echo $_GET["age"];?>years old!
注释:在使用$_GET变量时,所有的变量名和值都会显示在URL中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在URL中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注释:HTTP GET方法不适合大型的变量值;值是不能超过100个字符的。
4.$_REQUEST变量
PHP的$_REQUEST变量包含了$_GET,$_POST以及$_COOKIE的内容。PHP的$_REQUEST变量可用来取得通过GET和POST方法发送的表单数据的结果。
例子
Welcome<?PHP echo $_REQUEST["name"];?>.<br/>
You are<?PHP echo $_REQUEST["age"];?>years old!
5.PHP $_POST
$_POST变量用于收集来自method="post"的表单中的值。$_POST变量是一个数组,内容是由HTTP POST方法发送的变量名称和值。$_POST变量用于收集来自method="post"的表单中的值。从带有POST方法的表单发送的信息,对任何人都是不可见的(会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
例子
<form action="welcome.PHP"method="post">
Enter your name:<input type="text"name="name"/>
Enter your age:<input type="text"name="age"/>
<input type="submit"/>
</form>
当用户点击提交按钮,URL不会含有任何表单数据,看上去类似这样:
http://www.w3school.com.cn/welcome.PHP
"welcome.PHP"文件现在可以通过$_POST变量来获取表单数据了(请注意,表单域的名称会自动成为$_POST数组中的ID键):
Welcome<?PHP echo $_POST["name"];?>.<br/>
You are<?PHP echo $_POST["age"];?>years old!
·通过HTTP POST发送的变量不会显示在URL中。
·变量没有长度限制。
不过,由于变量不显示在URL中,所有无法把页面加入书签。
6.$_REQUEST变量
PHP的$_REQUEST变量包含了$_GET,$_POST以及$_COOKIE的内容。PHP的$_REQUEST变量可用来取得通过GET和POST方法发送的表单数据的结果。
例子
Welcome<?PHP echo $_REQUEST["name"];?>.<br/>
You are<?PHP echo $_REQUEST["age"];?>years old!
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。