php - 使用 PHP 在单个实例中选择所有表单字段
问题描述
我开始学习 PHP 并拥有下面的代码,其中包括从 db.php 文件到数据库的连接,然后运行一个查询,该查询使用添加到 MYSQL 数据库的 HTML 表单数据。
在下面的代码中有一个 if 语句,表示该$firstname
字段必须有内容。如果我有一个较大的表单并希望确保填写每个表单字段,是否有一个 PHP 函数可以选择具有“名称”属性(或类似属性)的所有表单字段?我很感激我可以为每个字段写出 x 次 if 语句,但我认为必须有一个内置的 PHP 函数来解决这个问题?但我在 PHP 文档中看不到任何内容?
任何帮助都会很棒。
<?php include "db.php"; ?>
<?php
if (isset($_POST['submit'])) {
$firstname = $_POST['first-name'];
$email = $_POST['email'];
if ($firstname == "" || empty($firstname)) {
echo "This field should not be empty";
} else {
$query = "INSERT INTO user(firstname, email) VALUE('{$firstname}', '{$email}')";
$add_name_query = mysqli_query($connection, $query);
if (!$add_name_query) {
die('QUERY FAILED' . mysqli_error($connection));
}
}
}
?>
解决方案
您可以构建自己的函数以使其更加“干燥”。
<?php
$firstname = $_POST['first-name'];
$email = $_POST['email'];
$anotherField = "Something";
$andOneMoreField = "Nothing";
function checkInputField($inputField) {
if($inputField == "" || empty($inputField)) {
echo 'This field should not be empty';
return false;
} else {
return true;
}
};
if(
checkInputField($firstname) &&
checkInputField($email) &&
checkInputField($anotherField) &&
checkInputField($andOneMoreField)
// and so on...
) {
echo "Open doors for SQL-Injection";
// db-handling
}
?>
但这只是作为进一步学习的深思熟虑。这既不是好的代码,也不是实现的建议。
推荐阅读
- java - 如何在java中使具有相同键不同值的json
- c++ - 使用非虚拟 destutor 的双重继承(Y 形)
- sql - 不允许从数据类型 datetime 到 int 的隐式转换。使用转换函数运行此查询
- php - Android FCM 定义频道 ID 并通过 PHP 向该频道发送通知
- jolt - JOLT 根据另一个字段的名称索引一个字段
- c++ - 使用我的自定义 WINAPI 调试器启动应用程序时不断抛出异常
- javascript - ng-for 中的角度增量变量
- azure - azure 服务的错误对象的文档
- swift - 'UITableView' 在 dequeneResusableCell 中没有成员
- janusgraph - 如何在janusgraph中使用yarn运行OLAP