如何在PHP表单中验证数组?

如何在PHP表单中验证数组?,php,Php,我对php相当陌生,想知道如何验证状态的数组,以及php代码放在哪里?我已经做了地址部分,但是我被困在了美国部分 这是验证代码 if (isset($_POST['contact_info_submitted'])) { // Handle the form. $address = mysqli_real_escape_string(htmlentities($_POST['address'])); } 这是表格代码 <li><label for="address

我对php相当陌生,想知道如何验证状态的数组,以及php代码放在哪里?我已经做了地址部分,但是我被困在了美国部分

这是验证代码

if (isset($_POST['contact_info_submitted'])) { // Handle the form.

    $address = mysqli_real_escape_string(htmlentities($_POST['address']));

}
这是表格代码

<li><label for="address-1">Address 1: </label><input type="text" name="address-1" id="address-1" size="25" class="input-size" value="<?php if (isset($_POST['address'])) echo $_POST['address']; ?>" /></li>

<li><label for="state-province">State/Province: </label>
<?php
echo '<select name="state-province" id="state-province">' . "\n";
    foreach($state_options as $option) {
        if ($option == $state) {
            echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n";
            } else {
              echo '<option value="'. $option . '">' . $option . '</option>'."\n";
            }
        }
            echo '</select>';

?>
</li>
<li><input type="submit" name="submit" value="Save Changes" class="save-button" />
    <input type="hidden" name="contact_info_submitted" value="true" />
  • 地址1:

  • 如果您想知道如何检查某人提交的状态值是否有效,只需检查他们发布的值是否在您的状态数组中即可。如果不存在,则无效:

    if (!in_array($_POST['state-province'], $state_options)) {
        // not valid
    }
    
    如果您只是想像其他表单值一样存储在数据库中,那么任何文本字段都没有什么不同:

    if (isset($_POST['contact_info_submitted'])) { // Handle the form.
        $state= mysqli_real_escape_string($_POST['state-province']);
    }
    

    如果您想知道如何检查某人是否提交了状态的有效值,只需检查他们发布的值是否在您的状态数组中。如果不存在,则无效:

    if (!in_array($_POST['state-province'], $state_options)) {
        // not valid
    }
    
    如果您只是想像其他表单值一样存储在数据库中,那么任何文本字段都没有什么不同:

    if (isset($_POST['contact_info_submitted'])) { // Handle the form.
        $state= mysqli_real_escape_string($_POST['state-province']);
    }
    

    您是否也可以发布您的
    表单的结构
    ,以便我们提供的答案与您的代码相同?@Anthony Forloney您的确切意思是什么?抱歉,开始无知。同意Anthony的观点,我们需要查看更多您的页面代码。由于现在您的验证代码与表单中的字段名称不匹配,因此不会验证任何内容…@SIAcKer:我很难理解您的问题。请编辑您的问题并详细解释一下。具体来说,“如何验证状态的数组”是什么意思?你想检查他们是否选择了一个州吗?@Josh我想知道的是,我是否需要检查这些州是否需要这样的代码
    $address=mysqli\u real\u escape\u string(htmlentities($\u POST['address'))
    您能否也发布您的
    表单的结构
    ,以便我们提供的答案与您的代码完全相同?@Anthony Forloney您的确切意思是什么?抱歉,开始无知。同意Anthony的观点,我们需要查看更多您的页面代码。由于现在您的验证代码与表单中的字段名称不匹配,因此不会验证任何内容…@SIAcKer:我很难理解您的问题。请编辑您的问题并详细解释一下。具体来说,“如何验证状态的数组”是什么意思?你想检查他们是否选择了一个州吗?@Josh我想知道的是,我是否需要检查这些州是否需要这样的代码
    $address=mysqli\u real\u escape\u string(htmlentities($\u POST['address'))