我知道它是 php 全局变量,但我不确定,它有什么作用?我也从官方 php 站点阅读,但不明白。
11 回答
您可能想阅读 PHP 的基础知识。尝试阅读一些入门教程。
$_POST
是一个变量,用于抓取通过 Web 表单发送的数据。
这是 W3Schools 的一个简单页面描述$_POST
以及如何使用它:PHP $_POST 函数
基本上:
在您的第一页上使用这样的 HTML:
<form action="submit.php" method="post">
Email: <input type="text" name="emailaddress" /> <input type="submit" value="Subscribe" />
</form>
然后submit.php
使用这样的东西:
<?
echo "You subscribed with the email address:";
echo $_POST['emailaddress'];
?>
通常有两种方式向服务器发送 HTTP 请求:
- 得到
- 邮政
假设您在页面上有一个 <form>。
<form method="post"> <input type="text" name="你的名字" /> <input type="提交" /> </form>
注意表单的“method”属性设置为“post”。所以在接收这个 HTTP 请求的 PHP 脚本中,$_POST[ 'yourName' ] 将在这个表单被提交时有这个值。
如果您在表单中使用了 GET 方法:
<form method="get"> <input type="text" name="你的名字" /> <input type="提交" /> </form>
然后 $_GET['yourName'] 将具有表单发送的值。
$_REQUEST['yourName'] 包含所有发布的变量,无论它们是通过 GET 还是 POST 发送的。
它用于通过发送到您的页面的 POST 存储 CGI 输入。
例子:
您的页面包含: <form action="welcome.php" method="post"> 名称:<input type="text" name="fname" /> 年龄:<input type="text" name="age" /> <input type="提交" /> </form> 用户将输入的值提交到表单中,您可以使用您为输入标签提供的名称通过 $_POST 访问这些变量。 欢迎 <?php echo $_POST["fname"]; ?>!<br /> 你是 <?php echo $_POST["age"]; ?> 岁。
$_POST 用于检索通过 POST 请求传递给您的页面的值。
例如,您的页面使用表单将数据传递到应用程序中的另一个页面。你的表格会有
<form method="post">
通过 POST 传递这些值。
它由 $_GET 匹配,它对 GET 请求执行相同的功能。
如果您希望能够引用 GET/POST 值,您可以使用 $_REQUEST
您可以从表单中捕获 post 值:
例子:
<form method="POST">
<input type="text" name="txtName" value="Test" />
</form>
为此,您将使用:
$_POST["txtName"];
它包含由 HTTP post 发送的数据,这通常来自 HTML FORM。
<form action="page.php" method="post">
<input type="text" name="email" ...>
...
</form>
可通过以下方式访问
$_POST["email"]
它包含通过 POST 方法提交的数据,并且仅包含 POST 方法,与通过 GET 方法提交的数据。$_REQUEST 超全局变量包含 $_POST 和 $_GET 数据。
当数据通过表单发布到服务器时,您可以通过 $_POST 数组访问它:
<form method="post">
<p><input type="text" name="firstname" /></p>
<p><input type="submit" /></p>
</form>
--
<?php
if ($_POST)
print $_POST["name"];
?>
并非所有数据都是通过 $_POST 发送的。文件上传是通过 $_FILES 完成的。
正如超文本传输协议规范所定义的,客户端(Web 浏览器)可以向资源(Web 服务器)发出多种类型的请求。
两种最常见的 Web 请求类型是 GET 和 POST。PHP 自动将任何客户端请求数据加载到全局数组中,$_GET
并$_POST
根据接收到的 Web 请求的类型。请求的类型对 Web 浏览器的用户是透明的,并且仅基于页面中发生的情况。但是,一般来说,您单击的任何常规链接都会产生 GET 请求,而您提交的任何表单都会产生 POST 请求。
如果您单击指向“ http://example.com/index.php?x=123&y=789 ”的链接,则 index.php 的$_GET
数组中将填充$_GET['x'] = '123'
and $_GET['y'] = '789'
。
如果您提交的表单具有以下结构:
<form action="http://example.com/index.php" method="post">
<input type="text" name="x">
</form>
然后接收脚本 index.php 将在其$_POST
数组中填充$_POST['x'] = 'whatever you typed into the textbox named x'
;
将数据从表单发送到 Web 应用程序有两种方法,GET 和 POST。
GET 将数据作为 URL 字符串的一部分发送:这http://www.example.com/get.html?fred=1&sam=2
是一个示例。将它用于所有处理存在一些问题,最大的问题之一是每个浏览器的查询字符串的最大长度不同,因此您的数据可能会被截断。
POST 将它们与 URL 分开发送。您避免了短长度限制,而且您可以使用 POST 发送二进制或加密数据。
在上面的第一个示例中,PHP 可以检索 $_GET['fred'] 和 $_GET['sam'] 发送的值。如果表单已发布,您将改用 $_POST。
如果您想知道应该使用哪种方法,请从这里开始
它包含从 HTML 表单发布到此脚本的任何值。