如何在PHP中仅发布具有值的变量并忽略空白输入?

时间:2019-07-23 18:08:24

标签: php arrays pdo

表单输入值变量是相同的,只更改DB中的标签。当选定表单时,其他样式将被“ style.display =” none“隐藏。 我面临的问题是如何防止从不可见的输入字段发送空值? 尝试了修剪功能,但对我不起作用。也许没有正确使用它。 我试图实现该输入值将保持不变,而不管用户选择什么,并且仅标签会更改。 dump output

<?php
if (isset($_POST["save"])) {

    if (empty($_POST['price'])) {
        $error["price"] = "Price Required";
    } else {
        $price = $_POST["price"];
    }
    if (array_filter($error)) {
        echo "Input error";
    } else {
        $price = ($_POST['price']);
        $value1 = ($_POST['value1']) ?? null;
        $value2 = $_POST['value2'] ?? null;
        $value3 = $_POST['value3'] ?? null;
    }
}

// insert size
$sql = "INSERT INTO valueSize(value1, value2, value3) values('$value1', '$value2, '$value3')";
$stmt = $pdo->prepare($sql);
$stmt->execute();

?>

<!DOCTYPE html>
<html lang="en">
<form action="">
    <?php foreach ($categoriesTypeId as $key): ?>
    <div class="dropItem invisible" id="<?php echo $key['id'] ?>">
        <label for="value1"><?php echo $key['value1Type'] ?>:</label>
        <input type="text" name="value1[]" value="<?php echo $value1 ?>">
        <div class="error"><?php echo $error['value1'] ?></div>
        <?php if (isset($key['value2Type'])) {?>
        <div class="inputCheck">
            <label for="value2"><?php echo $key['value2Type'] ?>
                :</label>
            <input type="text" name="value2" value="<?php echo $value2 ?>">
            <div class="error"><?php echo $error['value2'] ?></div>
        </div>
        <?php
}
;
?>

        <?php if (isset($key['value3Type'])) {?>
        <div class="inputCheck">
            <label for="value3"><?php echo $key['value3Type'] ?>
                :</label>
            <input type="text" name="value3" value="<?php echo $value3 ?>">
            <div class="error"><?php echo $error['value3'] ?></div>
        </div>
        <?php
} else {
}
?>
        <?php endforeach;?>
</form>
</html>


0 个答案:

没有答案