$_POST 是 PHP 中的一个超全局变量,用于从表单中以 POST 方法提交的数据中获取信息。与 $_GET 不同,$_POST 不会将数据附加在 URL 上,而是通过 HTTP 请求的消息体进行传输,这样可以更安全地处理敏感信息。

以下是一个简单的示例,演示如何使用 $_POST 获取表单数据:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHP $_POST Example</title>
</head>
<body>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
    <label for="name">Name:</label>
    <input type="text" id="name" name="name">
    
    <br>

    <label for="email">Email:</label>
    <input type="email" id="email" name="email">
    
    <br>

    <input type="submit" value="Submit">
</form>

<?php
// 处理 POST 请求中的数据
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 使用 $_POST 获取表单数据
    $name = isset($_POST["name"]) ? $_POST["name"] : "";
    $email = isset($_POST["email"]) ? $_POST["email"] : "";

    // 显示获取到的数据
    echo "<h2>Form Data (POST method):</h2>";
    echo "Name: " . htmlspecialchars($name) . "<br>";
    echo "Email: " . htmlspecialchars($email) . "<br>";
}
?>

</body>
</html>

在上述例子中,通过在表单中使用 method="post" 属性,表单提交的数据会被包含在 HTTP 请求的消息体中。在 PHP 部分,通过检查 $_SERVER["REQUEST_METHOD"],我们确保只有在接收到 POST 请求时才处理表单数据。

请注意,由于 $_POST 不会将数据附加在 URL 上,因此相对于 $_GET,$_POST 更适合用于处理敏感信息,如密码。同样,需要谨慎处理用户输入,以防止安全风险,比如使用 htmlspecialchars 函数转义输出。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3417/PHP