Я кодировал в PHP, но сегодня мне впервые потребовалось проверить поле выбора, и я шокирован, когда понял, что на самом деле не уверен, как это сделать.По сути, это мой HTML: (игнорируйте сессионный материал в коде)
<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>
В основном я написал приведенный ниже код php, думая, что он подтвердит его, но независимо от того, изменяю я значения или нет в браузере, используя Firebugвсегда возвращает пол, недействительная ошибка.
Остальная часть моей формы редактирования профиля работает нормально, так же как и поле выбора (без проверки), но, очевидно, мне нужно проверить его как мужской, женский или ничего не обновляется в базе данных наПрофиль пользователя.Я делаю строку mysql_real_escape и т. Д., Но не добавил, что здесь просто из-за простоты и т. Д.
$gender = $_POST['gender'];
if(!empty($gender) && $gender != "Male" || $gender != "Female"){
$error[] = "Gender not valid";
}
Если кто-то может объяснить, как я проверяю значения из поля выбора, чтобы убедиться, что они не были подделаны и содержат мужской, женскийили нет значения, которое будет высоко ценится.Может быть, я делаю это неправильно.