PHP $_POST 怎么用?该如何接收和处理 POST 数据?

文章导读
Previous Quiz Next PHP 中的 $_POST 变量是一个超全局数组,用于在提交使用 POST 方法的 HTML 表单后收集表单数据。它特别适用于安全地发送数据和接收用户输入。
📋 目录
  1. 什么是 $_POST?
  2. 语法
  3. 关于 $_POST 的要点
  4. 示例:HTML 表单 (hello.html)
A A

PHP - $_POST



Previous
Quiz
Next

PHP 中的 $_POST 变量是一个超全局数组,用于在提交使用 POST 方法的 HTML 表单后收集表单数据。它特别适用于安全地发送数据和接收用户输入。

什么是 $_POST?

$_POST 是 PHP 的内置数组。它存储通过 POST 方法从 HTML 表单接收到的数据。此数据在 URL 中不可见,因此比 GET 方法更安全。

语法

以下是我们用来定义 $_POST 的语法 −

$_POST['key']

这里的 'key' 是表单输入字段的名称。

关于 $_POST 的要点

$_POST 是 PHP 中的预定义或超全局变量之一。它是一个关联数组,包含通过 HTTP POST 方法传递到 URL 的键值对,该方法使用 URLEncoded 或 multipart/form-data content-type 在请求中。

  • $_POST 是一个超全局变量,这意味着可以在脚本的任何位置访问它,而无需声明 global。

  • 键值对的关联数组。

  • POST 数据不在 URL 中显示,因此对于密码或个人信息等敏感信息更安全。

  • 兼容使用 URLEncoded 或 multipart/form-data 内容的表单。

  • $HTTP_POST_VARS 是 $_POST 的旧版本,不应使用。

  • 将 HTML 表单的 method 属性修改为 POST 是向服务器传输数据的最简单方法。

示例:HTML 表单 (hello.html)

假设浏览器中的 URL 为 "http://localhost/hello.php",在 HTML 表单 "hello.html" 中设置 method=POST,如下所示 −

<html>
<body>
   <form action="hello.php" method="post">
      <p>First Name: <input type="text" name="first_name"/> </p>
      <p>Last Name: <input type="text" name="last_name" /> </p>
      <input type="submit" value="Submit" />
   </form>
</body>
</html>

此练习中 "hello.php" 脚本(位于文档根目录文件夹)如下所示:

<?php
   echo "<h3>First name: " . $_POST['first_name'] . "<br /> " . 
   "Last Name: " . $_POST['last_name'] . "</h3>";
?>

现在,在浏览器中打开 http://localhost/hello.html。你应该在屏幕上看到以下输出 −

PHP $ POST 1

当你按下 Submit 按钮时,数据将使用 POST 方法提交到 "hello.php"。

PHP $ POST 2

你也可以在 hello.php 中将 HTML 表单与 PHP 代码混合,并使用 "PHP_SELF" 变量将表单数据提交到自身 −

<html>
<body>
   <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
      <p>First Name: <input type="text" name="first_name"/> </p> <br />
      <p>Last Name: <input type="text" name="last_name" /></p>
      <input type="submit" value="Submit" />
   </form>
   <?php
      echo "<h3>First Name: " . $_POST['first_name'] . "<br /> " . 
      "Last Name: " . $_POST['last_name'] . "</h3>";
   ?>
</body>
</html>

它将产生以下 输出

PHP $ POST 3