繁体   English   中英

PHP或Die中的必填字段

[英]Required Fields in PHP or Die

因此,我在以下方面遇到了麻烦:(让我知道您是否需要所有代码)。

$required = array('exam_id', 'subject', 'exam_date');

$error = false;
foreach($required as $field) {
if ( !empty($_POST['insert'])) {
$InsertQuery = "INSERT INTO Exam (exam_id, subject, exam_date) VALUES ('$_POST[uexam_id]','$_POST[usubject]','$_POST[uexam_date]')";
mysql_query($InsertQuery, $con);
$error = true;
}
} 
if ($error) {
die ("All fields are required!");

echo "<a href='examisud.php'> Back to Form </a>";
}

本质上,我希望所有字段都是必需的。 并且当一个被忽略时,将弹出一个错误消息,提示“所有字段都是必需的”。 上面的代码无法正常工作,因为所有字段均已填写,错误弹出并没有将其添加到数据库中。 但是,当某个字段丢失时,将弹出错误,但实际上会将填充的字段添加到数据库中。 -insert语句不再起作用。 -当1个或多个字段保留为空白时,它起作用。 -我需要所有字段,当1保留为空白时,将弹出错误并显示文本,带您返回以完成表格。 在此先感谢您的帮助!

(此外,不必担心SQL注入,这是我自己的Wamp服务器上的个人项目)

如果我了解您的要求,那么您会想要: in_array

另外,您的代码非常不安全,我会采取预防措施,而且mysql_函数现在已弃用。 您可能要研究mysqli_PDO


in_array将检查是否在数组中找到一个值。

$my_array = array("Your Value", "The Value", "Awesomeness");
if (in_array("Your Value", $my_array)) {
    //success, it was found in our array
} else { /*Not found, do something.*/ }

我希望这可以澄清问题,我仍然不确定您要问的是什么,但是我认为这就是您要问的。

声明后查看错误的var_dump($InsertQuery)

单引号不传递值,而是按字面意义进行解释。 删除它们,查询将可操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM