我用PHP編碼,但今天我第一次需要驗證一個選擇框,並且很震驚地意識到我實際上並不確定如何。基本上,這是我的HTML:(忽略代碼會話的東西)使用PHP驗證選擇框?
<label for="gender">Gender</label>
<select id="gender" name="gender" class="select option">
<option<?php if($_SESSION['gender'] === "") { echo ' selected="selected"'; } ?> value=""> </option>
<option<?php if($_SESSION['gender'] === "Male") { echo ' selected="selected"'; } ?> value="Male">Male</option>
<option<?php if($_SESSION['gender'] === "Female") { echo ' selected="selected"'; } ?> value="Female">Female</option>
</select>
基本上我寫了下面以爲它會使用Firebug它總是返回驗證,但我是否與值篡改或沒有瀏覽器的PHP代碼性別無效錯誤。
我的編輯配置文件表單的其餘部分工作正常,所以選擇框(沒有驗證),但顯然我需要驗證它作爲男性,女性或沒有更新數據庫中的用戶配置文件。我做mysql_real_escape串等,但不加,這裏只是出於簡單的等
$gender = $_POST['gender'];
if(!empty($gender) && $gender != "Male" || $gender != "Female"){
$error[] = "Gender not valid";
}
如果有人能解釋一下我是如何從檢查選擇框中的值,以確保它們不被篡改,並含有男性,女性或沒有值得讚賞的價值。也許我做錯了。
感謝馬里奧似乎更合乎邏輯的最佳解決方案,所以謝謝:) – PHPLOVER 2011-04-11 21:42:06