【发布时间】:2011-08-03 10:05:18
【问题描述】:
我用 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";
}
如果有人可以解释我如何检查选择框中的值,以确保它们没有被篡改并包含男性、女性或不包含将不胜感激的值。也许我做错了。
【问题讨论】:
标签: php select drop-down-menu validation