PHP中PHP $_POST和PHP $_REQUEST及PHP $_GET的用法及区别
笔者最近开始学习PHP语言大法,记录一下学习过程中遇到的知识点。
今天介绍的是php中有关 php $_post 和 php $_request 及 php $_get 的用法及区别~
一、用法
PHP $_REQUEST
PHP $_REQUEST 用于收集HTML表单提交的数据。
以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。
当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。
在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_REQUEST 来收集表单中的 input 字段数据:
<!DOCTYPE html> <html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = htmlspecialchars($_POST['fname']); echo $name; ?> </body> </html>
PHP $_POST
PHP $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。
以下实例显示了一个输入字段(input)及提交按钮(submit)的表单(form)。 当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。
在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_POST 来收集表单中的 input 字段数据:
<!DOCTYPE html> <html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = htmlspecialchars($_POST['fname']); echo $name; ?> </body> </html>
PHP $_GET
PHP $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。
PHP$_GET 也可以收集URL中发送的数据。
假定我们有一个包含参数的超链接HTML页面:
<html> <body> <a href="test_get.php?subject=PHP&web=runoob.com">Test $GET</a> </body> </html>
当用户点击链接 "Test $GET", 参数 "subject" 和 "web" 将发送至"test_get.php",你可以在 "test_get.php" 文件中使用 $_GET 变量来获取这些数据。
以下实例显示了 "test_get.php" 文件的代码:
<html> <body> <?php echo "Study " . $_GET['subject'] . " @ " . $_GET['web']; ?> </body> </html>
注:上述代码及运行结果依赖 菜鸟教程
以上就是PHP $_POST和PHP $_REQUEST及PHP $_GET的用法和简单的代码实现过程。
问题一:PHP $_POST和PHP $_REQUEST的区别(我们如果只从运行结果来看,发现好像并没有什么差别~)
问题二:PHP $_POST和PHP $_GET的区别
那接下来我们思考一下这些问题,它们在原理上有什么区别呢?
---------------------------------------------手动分割线---------------------------------------------
二、区别
问题一:PHP $_POST和PHP $_REQUEST的区别
PHP $_REQUEST
- php中$_REQUEST可以获取以POST方法提交的数据,但是速度比较慢 。
PHP $_POST
- 用来获取由浏览器通过POST方法提交的数据。
- POST方法他是通过HTTP POST机制,将表单的各个字段放置在HTTP HEADER内一起传送到action属性所指的URL地址中,用户看不到这个过程。
- 它提交的大小一般来说不受限制(具体根据服务器的不同,还是会些许不同)
问题二:PHP $_POST和PHP $_GET的区别
PHP $_POST
- 用来获取由浏览器通过POST方法提交的数据。
- POST方法他是通过HTTP POST机制,将表单的各个字段放置在HTTP HEADER内一起传送到action属性所指的URL地址中,用户看不到这个过程。
- 它提交的大小一般来说不受限制(具体根据服务器的不同,还是会些许不同)
1. 安全性较高。
2. 传送数据量大,请求对数据长度没有要求。
3.请求不会被缓存,也不会保留在浏览器历史记录中。
PHP $_GET
- 用来获取由浏览器通过GET方法提交的数据。
- GET方法他是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到,但是有如下缺点:
1. 安全性不好,在URL中可以看得到。
2. 传送数据量较小,不能大于2KB。
参考资料:
https://www.jb51.net/article/28957.htm
https://www.runoob.com
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.