PHP变量 $_GET / $_POST / $_REQUEST

在这里插入图片描述

$_GET :         ($_GET 是通过 URL 参数传递到当前脚本的变量数组。)

<!-------html------->

			<!--在这里设置传输数据的方式-->
<form action="get.php" method="get">
        <label>
            <b>姓名:</b>
            <input type="text" name="name">
        </label>
        <label>
            <b>密码:</b>
            <input type="password" name="password">
        </label>
        <button id="sub">登录</button>
 </form>

<!-------对应的php------->

<?php
//$_GET后面加上中括号,将username作为字符串放在中括号里面,就得到了表单里面的<input type="text" name="name"> 的值
$n = $_GET['name'];
echo $n.'<br />';

//$_GET['password'] 得到表单<input type="password" name="password"> 的值
$pwd = $_GET['password'];
echo $pwd.'<br />';
?>

在get情况下, 表单传输的内容是可见的,会显示在URL地址中:
在这里插入图片描述
GET 对所发送信息的数量也有限制。限制在大于 2000 个字符/ 2KB。不过,由于变量显示在 URL 中,也是有它的方便之处的,具体看项目需求了。

在这里插入图片描述

$_POST :         ($_POST 是通过 HTTP POST 传递到当前脚本的变量数组。)

<!-------html------->

			<!--在这里设置传输数据的方式-->
<form action="post.php" method="post">
        <label>
            <b>姓名:</b>
            <input type="text" name="name">
        </label>
        <label>
            <b>密码:</b>
            <input type="password" name="password">
        </label>
        <button id="sub">登录</button>
 </form>

<!-------对应的php------->

<?php
$n = $_POST['name'];
echo $n.'<br />';

$pwd = $_POST['password'];
echo $pwd.'<br />';
?>

在post情况下, 表单传输的内容是不可见的,它的数据会被嵌入 HTTP 请求的主体中,地址栏中不会存在:
在这里插入图片描述
post 对所发送信息的数量也无限制。并且支持高阶功能,比如在向服务器上传文件时进行 multi-part 二进制输入。

在这里插入图片描述

$_REQUEST :


				  <!--表单中无论写成get、或者post都可以接收-->
<form action="request.php" method="get"></form>



<?php
$n = $_REQUEST['name'];
echo $n.'<br />';

$pwd = $_REQUEST['password'];
echo $pwd.'<br />';
?>

$_REQUEST虽然同时具用$_POST $_GET的功能, 但是$_REQUEST 会比较慢,在某些情况下有时候可能会给程序造成一些漏洞,不是很推荐使用的;

在这里插入图片描述
以上三种都属于php 的超级全局变量

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

猜你喜欢

转载自blog.csdn.net/freedomVenly/article/details/82956221