2010-03-18 62 views
1

我是相當新的PHP,並想知道我怎麼驗證了國陣和我在哪裏放置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" /> 
+0

你能還交你的'form'的結構,以便我們提供的答案可以與你的代碼相同? – 2010-03-18 18:42:58

+0

@Anthony Forloney你究竟是什麼意思?對不起,開始無知。 – SlAcKeR 2010-03-18 18:44:56

+0

同意安東尼,我們需要看到更多的頁面代碼。因爲現在您的驗證代碼與表單中的字段名稱不匹配,因此不會驗證任何內容...... – 2010-03-18 18:45:37

回答

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']); 
}