PHP - $_POST
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。你应该在屏幕上看到以下输出 −
当你按下 Submit 按钮时,数据将使用 POST 方法提交到 "hello.php"。
你也可以在 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>
它将产生以下 输出 −
