📅  最后修改于: 2023-12-03 15:23:15.345000             🧑  作者: Mango
在 PHP 中,获取文本字段值可以使用 $_POST
或 $_GET
超全局数组。这两个数组分别用于获取 POST 和 GET 请求中的数据。
以下代码展示了如何使用 $_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
数组获取表单中的 name
和 email
字段的值,并将其赋值给 $name
和 $email
变量。最后,我们使用 echo
语句输出这两个变量的值。
以下代码展示了如何使用 $_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
。
无论是使用 $_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 中获取文本字段值的介绍。