在PHP Get()与Post()方法
PHP中的获取和发布方法 PHP提供了两种方法,客户机(浏览器)可以通过两种方法将信息发送到服务器。这些方法在…
PHP中的获取和发布方法
PHP提供了两种方法,客户机(浏览器)可以通过两种方法将信息发送到服务器。这些方法在下面给出,并进行详细讨论:
- GET方法
- POST方法
Get和Post方法是内部使用的HTTP请求方法
标签以将表单数据发送到服务器。
HTTP协议可以在客户端和服务器之间进行通信,其中浏览器可以作为客户端,而在托管您网站的计算机系统上运行的应用程序可以作为服务器。
GET方法
GET方法用于提交HTML表单数据。该数据由预定义的$_GET变量收集以进行处理。
使用GET方法从HTML表单发送的信息对浏览器的地址栏中的所有人都是可见的,这意味着所有变量名称及其值都将显示在URL中。因此,get方法不能保证发送敏感信息。
例如
localhost/gettest.php?username=Harry&bloodgroup=AB+
上述网址中的粗体部分是变量名称,斜体部分包含其相应变量的值。
请注意,使用GET方法只能发送有限数量的信息。
借助示例,让我们了解GET方法的工作原理-
例
下面的代码将显示一个HTML表单,其中包含两个输入字段和一个Submit按钮。在此HTML表单中,我们使用了方法=“get”来提交表单数据。
文件:test1.html
<html> <body> <form action = "gettest.php" method = "GET"> Username: <input type = "text" name = "username" /> <br> Blood Group: <input type = "text" name = "bloodgroup" /> <br> <input type = "submit" /> </form> </body> </html>
创建gettest.php文件,该文件将接受HTML表单发送的数据。
文件:gettest.php
<html> <body> Welcome <?php echo $_GET["username"]; ?> </br> Your blood group is: <?php echo $_GET["bloodgroup"]; ?> </body> </html>
当用户填写表单后单击“提交”按钮时,发送到服务器的URL可能类似于以下内容:
localhost/gettest.php?username=Harry&bloodgroup=AB-
输出将类似于以下输出:
Welcome Harry Your blood group is: AB-
GET方法的优点(方法=“ get”)
- 您可以使用特定的查询字符串为页面添加书签,因为GET方法发送的数据显示在URL中。
- GET请求可以被缓存。
- GET请求始终保留在浏览器历史记录中。
GET方法的缺点
- 发送任何敏感信息时,不应使用GET方法。
- 使用method =“ get”可以发送有限数量的数据。此限制不得超过2048个字符。
- 出于安全原因,切勿使用GET方法发送高度敏感的信息,例如用户名和密码,因为它会在URL中显示它们。
- GET方法不能用于将二进制数据(例如图像或Word文档)发送到服务器。
POST方法
- 发送任何敏感信息时,不应使用GET方法。
- 使用method =“ get”可以发送有限数量的数据。此限制不得超过2048个字符。
- 出于安全原因,切勿使用GET方法发送高度敏感的信息,例如用户名和密码,因为它会在URL中显示它们。
- GET方法不能用于将二进制数据(例如图像或Word文档)发送到服务器。
POST方法
与GET方法类似,POST方法也用于提交HTML表单数据。但是,通过此方法提交的数据由预定义的超全局变量$_POST而不是$_GET收集。
与GET方法不同,它对要发送的信息量没有限制。使用POST方法从HTML表单发送的信息对任何人都不可见。
例如
localhost/posttest.php
请注意,“ post”方法比“ get”方法更安全,因为使用POST方法发送的数据对用户不可见。
借助示例,让我们了解POST方法的工作原理-
例
下面的代码将显示一个HTML表单,其中包含两个输入字段和一个Submit按钮。在此HTML表单中,我们使用了方法=“post”提交表单数据。
文件:test2.html
<html> <body> <form action = "posttest.php" method = "post"> Username: <input type = "text" name = "username" /> <br> Blood Group: <input type = "text" name = "bloodgroup" /> <br> <input type = "submit" /> </form> </body> </html>
现在创建posttest.php文件以接受HTML表单发送的数据。
文件:posttest.php
<html> <body> Welcome <?php echo $_POST["username"]; ?> </br> Your blood group is: <?php echo $_POST["bloodgroup"]; ?> </body> </html>
当用户填写表单后单击“提交”按钮时,发送到服务器的URL可能类似于以下内容:
本地主机/posttest.php
输出将类似于以下输出:
Welcome Harry Your blood group is: O+
POST方法的优点(方法=“ post”)
- POST方法对于发送任何敏感信息很有用,因为使用POST方法发送的信息对任何人都不可见。
- 使用POST方法发送的数据大小没有限制。您可以使用此方法发送大量信息。
- 二进制和ASCII数据也可以使用POST方法发送。
- 数据安全性取决于HTTP协议,因为使用POST方法发送的信息会通过HTTP标头。通过使用安全的HTTP,可以确保您的数据是安全的。
POST方法的缺点
- POST请求不缓存。
- POST请求永远不会保留在浏览器历史记录中。
- 无法在页面上添加书签,因为变量未显示在URL中。
$ _REQUEST变量
- POST请求不缓存。
- POST请求永远不会保留在浏览器历史记录中。
- 无法在页面上添加书签,因为变量未显示在URL中。
$ _REQUEST变量
$_REQUEST变量是一个超全局变量,可以保存$_GET和$_POST变量的内容。换句话说,PHP$_REQUEST变量用于收集由GET或POST方法发送的表单数据。它还可以收集$_COOKIE变量的数据,因为它不是特定于方法的变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!