PHP 变量 $_GET 和 $_POST
有两种方法可以将数据从客户端浏览器发送到 Web 服务器:
下面的 HTML 页面包含一个 HTML 表单,其中包含不同类型的输入元素:文本、密码、复选框、单选、选择...当用户填写这些元素并单击提交按钮时,数据将传输到在 form.
的 action 属性中指定的目标文件exemple.php”下图显示了使用 GET 方法的 HTML 表单示例,以及页面 PHP.
在 imprime_infos.php” 文件中,我们使用 $_GET 变量来收集接收到的值(name 和 age).
- GET
- POST
下面的 HTML 页面包含一个 HTML 表单,其中包含不同类型的输入元素:文本、密码、复选框、单选、选择...当用户填写这些元素并单击提交按钮时,数据将传输到在 form.
的 action 属性中指定的目标文件exemple.php”下图显示了使用 GET 方法的 HTML 表单示例,以及页面 PHP.
GET 方法
GET 方法将编码后的信息发送到目标页面。页面和编码信息由字符分隔。?.
http://www.exemple.com/index.php?name1=valeur1&name2=value2让我们看一下下面的 HTML 表单。在表单元素中,您必须指定如何在 method”.
<表单操作=imprime_infos.php” method=GET”>
用户名:<输入类型=文本” 名称=名称” />
年龄: <输入类型=文本” name=年龄” />
<输入类型=提交” value=提交”>
在 imprime_infos.php” 文件中,我们使用 $_GET 变量来收集接收到的值(name 和 age).
<?php在WampServer服务器下执行代码后,我们得到了上面的结果,其信息在地址栏中可见.
if( $_GET[name”] || $_GET[age”] ) {
echo Hello”.$_GET['名称']."
;
回声你有”。$_GET['年龄'].年”;
}
?>
- GET 方法生成一长串字符,出现在服务器日志和浏览器历史记录中。
- 使用 GET 方法发送的字符数限制为 1024 个字符。因此,我们不能发送长文本.
- 切勿使用 GET 方法发送敏感信息,例如密码或信用卡号和代码。
- GET 无法将二进制数据(例如图像和文档)发送到服务器。
- 可以使用环境变量 QUERY_STRING.
- PHP 有一个 $_GET 数组来访问使用 GET.
- GET 应该只用于检索信息。
POST
如上所述,GET 方法根本不安全,因此,这导致 PHP 开发人员开发了一种有效的解决方案来发送信息而不会出现在地址栏中。此外,GET 限制为 1024 个字符。因此,最好使用 POST 方法发送表单的数据。POST 方法的工作方式与 GET 方法类似,但它比 GET 更安全,因为这些值在浏览器的地址栏中不可见,也不会保存在浏览器的历史记录中。
要使用 POST, 放置 POST 关键字而不是 GET.
- 发送的数据不会存储在浏览器历史记录中。
- POST 可用于发送二进制数据。
- POST 方法发送的数据是通过 HTTP 标头传递的,因此安全性取决于 HTTP 协议。通过使用安全的 HTTP,您可以确定您的信息受到保护。
- PHP 有一个 $_POST 数组来访问使用 POST 发送的所有信息.
方法 试试文件imprime_infos.php”中的以下示例:
<表单操作=imprime_infos.php” method=POST”>要收集信息,请使用变量 $_POST:
用户名:<输入类型=文本” 名称=名称” />
年龄: <输入类型=文本” name=年龄” />
<输入类型=提交” value=提交”>
<?php运行时显示信息在地址栏中不可见:
if( $_POST[name”] || $_POST[age”] ) {
echo Hello”.$_POST['名称']."
;
回声你有”。$_POST['年龄'].年”;
}
?>
使用 POST:
- POST 方法对要发送的数据大小没有限制。- 发送的数据不会存储在浏览器历史记录中。
- POST 可用于发送二进制数据。
- POST 方法发送的数据是通过 HTTP 标头传递的,因此安全性取决于 HTTP 协议。通过使用安全的 HTTP,您可以确定您的信息受到保护。
- PHP 有一个 $_POST 数组来访问使用 POST 发送的所有信息.
$_REQUEST
$_REQUEST 变量包含 $_GET、$_POST 和 $_COOKIE 的内容。$_REQUEST 对于接收数据很有用,如果它同时来自 $_GET 和 $_POST.方法 试试文件imprime_infos.php”中的以下示例:
<?php
if( $_REQUEST[name”] || $_REQUEST[age”] ) {
echo Hello”.$_REQUEST['名称']."
;
回声你有”。$_REQUEST['年龄'].年”;
}
?>