PHP $_POST 变量


PHP $_POST 变量

$_POST 是 PHP 的一种超全局变量,用于接收来自 HTML form 表单的数据。在客户端提交表单时,表单中输入项的值会被编码为 HTTP 请求消息体的一部分,并通过 POST 方法发送到目标页面。在 PHP 脚本中,可以通过 $_POST 变量获取这些值。

语法

$_POST 变量是一个关联数组,包含所有通过 HTTP POST 方法传递给当前脚本的数据。数组的键是 HTML form 表单输入项的 name 属性值,对应的值是用户在输入项中输入或选择的值。例如,如果 HTML form 表单中有一个输入框,其 name 属性值为 username,那么可以通过下面的代码获取 username 输入框中的值:

$username = $_POST["username"];

示例

假设有一个留言板页面,用户在该页面中填写留言信息并提交表单。留言板的 HTML form 表单中包括以下输入项:

<form action="submit_message.php" method="post">
  <input type="text" name="name" placeholder="Your name">
  <textarea name="message" placeholder="Leave a message"></textarea>
  <button type="submit">Submit</button>
</form>

用户填写完留言信息后,点击 “Submit” 按钮将输入信息提交给 submit_message.php 页面。在该页面中,可以通过以下代码获取表单提交的数据:

$name = $_POST["name"];
$message = $_POST["message"];

这样,就可以将用户输入的留言信息插入到数据库中或者以其他方式进行处理。

安全注意事项

使用 $_POST 变量接收表单数据时,需要注意防止脚本注入攻击。脚本注入攻击是指攻击者利用表单输入项提交恶意代码或命令,使得服务器在处理数据时受到攻击。为了防止脚本注入攻击,可以使用以下技术:

  • 对输入数据进行过滤,只允许符合要求的数据通过;
  • 使用 PHP 内置函数 htmlspecialchars 对输入数据进行编码,防止 XSS 攻击;
  • 对于需要执行的命令,使用 PHP 内置函数 escapeshellcmd 进行转义,防止命令注入攻击。

结论

$_POST 变量是 PHP 处理表单提交数据的重要工具之一。通过掌握 $_POST 变量的用法及注意事项,可以编写安全、可靠的表单处理程序。