【发布时间】:2015-06-02 12:03:56
【问题描述】:
我正在尝试寻找一种更智能的方法来使用 PHP 验证我的输入。如果数组找到一个空字段,它必须向数组中添加一个新元素并显示错误消息。
到目前为止,我还没有成功。
背后的代码
$felter = array();
if(isset($_POST['submit'])) {
$produktnavn = $_POST['produktnavn'];
$kategori = $_POST['kategori'];
if( !empty( $felter ) ) {
foreach ($felter as $felt) {
if ($felter == '') {
$fejl = true;
}
}
}
else {
$sql = "UPDATE produkt SET produkt_navn = '$produktnavn', fk_kategori_id = '$kategori' WHERE produkt_id=$id";
mysqli_query($db, $sql);
echo "Produktet blev opdateret";
}
输入表单
<input type="text" class="form-control" name="produktnavn" value="<?php echo $produktnavn; ?>">
【问题讨论】:
-
那么,您的代码是否有效?
-
您遇到了什么错误?请将它们包含在问题中,NOT 包含在 cmets 中
-
尝试将
if ($felter == '') {更改为if ($felt == '') {,因为$felter是一个数组 -
我没有收到任何错误,我认为我没有以正确的方式定位输入字段。如果有任何错误,我会把它们放在线程中。
-
如果您正在检查数组
$felter是否不为空,您可以通过确保该数组上的count方法高于0 来检查,并确保$felter是一个可以运行is_array($felter)的数组——正如前面评论中提到的,!empty是一个字符串运算符。最后,您应该检查您的$_POST变量是否已初始化和定义,您可以使用isset($_POST['produktnavn'])作为示例。哦,还有一件事——你会想要清理来自任何来源的输入。永远不要相信未经检查的用户提交的数据。
标签: php arrays validation