PHP - $_POST 变量



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

  • $HTTP_POST_VARS 也包含与 $_POST 相同的信息,但不是超全局变量,现已弃用。
  • 使用 POST 请求将数据发送到服务器的最简单方法是将 HTML 表单的 method 属性指定为 POST

假设浏览器的 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