最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • PHP 变量 $_GET、$_POST 、$_REQUEST 区别

    php中有$_request与$_post、$_get用于接受表单数据,当使用他们时有什么区别,什么情况下用哪种接受表单最好。

    PHP 变量 $_GET、$_POST 、$_REQUEST 区别

    1、$_GET 变量

    预定义的 $_GET 变量用于收集来自 method=”GET” 的表单中的值。

    <form action="sharevip.php" method="GET">   
        Name:   <input type="text" name="name">   
        Age:    <input type="text" name="age">   
        <input type="submit">   
    </form>

    当用户点击 “submit” 按钮时,发送到服务器的 URL 如下所示:

    https://www.codesou.cn/sharevip.php?name=Harry&age=20

    页面文件 “sharevip.php” 通过 $_GET 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的键)

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

    用来获取由浏览器通过GET方法提交的数据。

    GET方法是通过把参数数据加在提交表单的action属性所指的URL中,值和表单内每个字段一一对应,然后在URL中可以看到,但是有如下缺点: 

    1)从带有 GET 方法的表单发送的信息,对任何人都是可见的(参数显示在浏览器的地址栏)

    2)$_GET 对发送信息的量也有限制,最长不超过2KB – 200KB,因浏览器和服务器而定

    3)$_GET 变量的安全性不如$_POST 

    何时使用 method=”GET”?

    在 HTML 表单中使用 method=”GET” 时,所有的变量名和值都会显示在 URL 中。

    注释:所以在发送密码或其他敏感信息时,不应该使用这个方法!

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

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

    2、$_POST 变量

    预定义的 $_POST 变量用于收集来自 method=”POST” 的表单中的值。

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

    注释:默认情况下,POST 方法的发送信息的量最大值为 8 MB(可通过设置 php.ini 文件中的 post_max_size 进行更改)。

    示例:

    <form action="sharevip.php" method="POST">   
        Name:   <input type="text" name="name">   
        Age:    <input type="text" name="age">   
        <input type="submit">   
    </form>

    当用户点击 “Submit” 按钮时,URL 如下所示:

    https://www.mimvp.com/sharevip.php

    页面文件 “sharevip.php” 现在可以通过 $_POST 变量来收集表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的键):

    Welcome <?php echo $_POST["name"]; ?> 
    <br>   
    You are <?php echo $_POST["age"]; ?> years old!

    何时使用 method=”post”?

    从带有 POST 方法的表单发送的信息,对任何人都是不可见的,并且对发送信息的量也没有限制。

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

    主要区别如下:

    ① 安全性 post > get

    ② 数据传输大小 [浏览器] post > get

    ③ 保存到收藏夹 get比较方便,直接带有参数

    3、$_REQUEST 变量

    预定义的 $_REQUEST 变量包含了 $_GET、$_POST 、 $_COOKIE 的内容。

    $_REQUEST 变量可用来收集通过 GET 和 POST 方法发送的表单数据。

    $_REQUEST 变量既可以收集GET方法发送的数据,也可以接受POST方法接受的数据。

    但是$_REQUEST[“参数”]比较慢,通过post和get方法提交的所有数据,都可以通过$_REQUEST数组[“参数”]获得

    示例:

    Welcome <?php echo $_POST["name"]; ?> 
    <br>   
    You are <?php echo $_POST["age"]; ?> years old!

    注意事项:

    1.  不要经常使用$_REQUEST,速度比较慢 

    2.  如果不确定 $_GET / $_POST,可以使用 $_REQUEST

    你接收数据时候,可以这样

    if($_SERVER['REQUEST_METHOD'] == "POST") {   
        echo $_POST['name'];   
    } 
    else if($_SERVER['REQUEST_METHOD'] == "GET"){   
        echo $_GET['name'];    
    }
    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » PHP 变量 $_GET、$_POST 、$_REQUEST 区别
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情