当前位置:首页 > PHP教程 > php应用 > 列表

实例详解PHP中 $_POST的$_GET的用法和区别

发布:smiling 来源: PHP粉丝网  添加日期:2022-07-26 12:37:34 浏览: 评论:0 

post和get是指页面提交的两种方式。

get:参数都体现在url上,可以用于翻页,简单查询,get只能接收2M以下的内容,所以有局限性,另外由于内容是可见的,安全性就下降了。

post:用于页面表单提交,上传文件。大小没有限制,也不会在地址栏上显示。

$_POST 变量

$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。

$_POST 变量用于收集来自 method=”post” 的表单中的值。

从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

举例:

  1. <!DOCTYPE html> 
  2.  
  3. <html> 
  4.  
  5.     <head> 
  6.  
  7.         <meta charset="utf-8" /> 
  8.  
  9.         <title></title> 
  10.  
  11.     </head> 
  12.  
  13.     <body> 
  14.  
  15. <form action="http://127.0.0.1:8080/php7/hello.php" method="post"> 
  16.  
  17. Enter your name: <input type="text" name="name" /> 
  18.  
  19. Enter your age: <input type="text" name="age" /> 
  20.  
  21. <input type="submit" /> 
  22.  
  23. </form> 
  24.  
  25.     </body> 
  26.  
  27. </html> 

这里是hello.php文件的代码 “hello.php” 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键)

  1. <?php 
  2.  
  3. header("content-type:text/html;charset=utf-8"); 
  4.  
  5. echo  $_POST["name"]; 
  6.  
  7. //可以输出form中标签的属性值   其中参数的name 
  8.  
  9. echo $_POST["age"]; 
  10.  
  11. ?> 

为什么使用 $_POST?

通过 HTTP POST 发送的变量不会显示在 URL 中。

变量没有长度限制。

不过,由于变量不显示在 URL 中,所以无法把页面加入书签。

$_GET 变量

$_GET 变量用于收集来自 method=”get” 的表单中的值,直观的的就是浏览器中可以看到的参数,比如我在百度搜索“wordpress”的时候,我请求的url就是http://www.baidu.com/s?ie=utf-8&bs=wordpress&f=8&rsv_bp=1&wd=wordpress&inputT=0,那么’?’后面的参数都是可以用 $_GET 获取,各个参数是以’&’作为分隔符的。

$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。

从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符),所以参数的长度不是无限的,但是基本都能满足我们的要求了。

举例:

  1. <form action="hello.php" method="get"> 
  2.  
  3. Name: <input type="text" name="name" /> 
  4.  
  5. Age: <input type="text" name="age" /> 
  6.  
  7. <input type="submit" /></form> 

当用户点击提交按钮时,发送的 URL 会类似这样:

http://www.w3school.com.cn/welcome.php?name=Peter&age=37

“hello.php” 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键)

Welcome <?php echo $_GET["name"]; ?>.<br />

You are <?php echo $_GET["age"]; ?> years old!

如果你在 name 表单框中输入了Mike ,在 age 表单框中输入了23,那么显示的结果就是这样的。

Welcome Mike

You are 23 years old!

为什么使用 $_GET?

注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。

不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。

Tags: $_POST $_GET

分享到: