正文 主页 > 站长学院 > 网络编程 >

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

下载我资源网

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

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

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

$_POST 变量

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

$_POST 变量用于收集来自 method=”post” 的表单中的值。
从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

举例:


<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
<form action="http://127.0.0.1:8080/php7/hello.php" method="post">
    
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>

    </body>
</html>

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


<?php
header("content-type:text/html;charset=utf-8");
echo  $_POST["name"];
//可以输出form中标签的属性值   其中参数的name
echo $_POST["age"];
?>

为什么使用 $_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 个字符),所以参数的长度不是无限的,但是基本都能满足我们的要求了。

举例:


<form action="hello.php" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<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 个字符的。

以上就是实例详解PHP中 $_POST的$_GET的用法和区别的详细内容,更多请关注php中文网其它相关文章!

-- 展开阅读全文 --