📌  相关文章
📜  在 php 中获取文本字段值(1)

📅  最后修改于: 2023-12-03 15:23:15.345000             🧑  作者: Mango

在 PHP 中获取文本字段值

在 PHP 中,获取文本字段值可以使用 $_POST$_GET 超全局数组。这两个数组分别用于获取 POST 和 GET 请求中的数据。

获取 POST 请求中的文本字段值

以下代码展示了如何使用 $_POST 获取 POST 请求中的文本字段值:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST["name"];
    $email = $_POST["email"];
    echo "Name: " . $name . "<br>";
    echo "Email: " . $email;
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    Name: <input type="text" name="name"><br>
    Email: <input type="text" name="email"><br>
    <input type="submit" name="submit" value="submit">
</form>

在这个例子中,我们首先检查请求方法是否为 POST。然后使用 $_POST 数组获取表单中的 nameemail 字段的值,并将其赋值给 $name$email 变量。最后,我们使用 echo 语句输出这两个变量的值。

获取 GET 请求中的文本字段值

以下代码展示了如何使用 $_GET 获取 GET 请求中的文本字段值:

<?php
if ($_SERVER["REQUEST_METHOD"] == "GET") {
    $name = $_GET["name"];
    $email = $_GET["email"];
    echo "Name: " . $name . "<br>";
    echo "Email: " . $email;
}
?>
<form method="get" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    Name: <input type="text" name="name"><br>
    Email: <input type="text" name="email"><br>
    <input type="submit" name="submit" value="submit">
</form>

这个例子与上面的例子类似,主要区别是表单的方法属性被设置为 get

避免 XSS 攻击

无论是使用 $_POST 还是 $_GET,在输出文本字段值时都应该对其进行过滤,以避免 XSS 攻击。以下代码展示了如何使用 htmlspecialchars 函数过滤文本字段值:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST["name"]);
    $email = htmlspecialchars($_POST["email"]);
    echo "Name: " . $name . "<br>";
    echo "Email: " . $email;
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    Name: <input type="text" name="name"><br>
    Email: <input type="text" name="email"><br>
    <input type="submit" name="submit" value="submit">
</form>

在这个例子中,我们对 $name$email 变量使用了 htmlspecialchars 函数进行过滤,这将会将 HTML 特殊字符(例如 <, >, &, ", ')转换为它们的实体表示形式,从而避免了 XSS 攻击。

以上就是在 PHP 中获取文本字段值的介绍。