PHP用多个具有相同输入名称的输入检查$ _POST

时间:2019-12-12 10:19:55

标签: php

如果其中1个输入为空,我想用多个具有相同名称的输入来验证表单。如果我使用if (empty($_POST))表单将被处理,但是不应该处理。有人可以帮我吗?

if (isset($_POST['action']) && ($_POST['action'] == 'process')) {
    $size = count($_POST['lc_setting']);
    $i = 0;

    while ($i < $size) {
        $config_value = $_POST['lc_setting'][$i];
        $id = $_POST['id'][$i];
        $sql = "UPDATE lc_config SET configuration_value = '$config_value' WHERE config_id =  $id";
        mysqli_query($mysqli, $sql) or die("Error in query: $sql");
        ++$i;
    }

}
<form id="lc_settings" method="post" action="{$basename}">
    <input type="hidden" name="action" value="process">   
    <ul>
        {foreach name=aussen from=$module_content item=module_data}
        <li class="shadow form-group" style="position: relative">                                                                                 
            <strong>{$module_data.CONFIG_LABEL}</strong>
            <div>                               
                <input class="form-control" type="text" name="lc_setting[]" value="{$module_data.CONFIG_VALUE}" placeholder="Field may not be empty" autocomplete="off" data-validation="required" /> 
                <input name="id[]" type="hidden" value="{$module_data.CONFIG_ID}">
                {$module_data.CONFIG_COMMENT}                                
            </div>
        </li>
        {/foreach} 
    </ul>
    <div class="buttons">
        <input type="submit" name="Submit" id="lc-submit" class="sbutton" value="Save Changes">
    </div>
</form>

1 个答案:

答案 0 :(得分:0)

您可以使用类似的东西

if (isset($_POST['action']) && ($_POST['action'] == 'process')) {
   $size = count($_POST['lc_setting']);
  $i = 0;

while ($i < $size) {
    $config_value = trim($_POST['lc_setting'][$i]);
    $id = $_POST['id'][$i];
    if(strlen($config_value)<=3) { // replace 3 with minimun length of lc_setting required
       continue;
    }

    $sql = "UPDATE lc_config SET configuration_value = '$config_value' WHERE config_id =  $id";
    mysqli_query($mysqli, $sql) or die("Error in query: $sql");
    ++$i;
}

}

相关问题