HTML :
<form method="post" action="proc.php">
<select name="yDept" class=sOptions>
<option disabled value="#" SELECTED>========</option>
<option value="acct">acct</option>
<option value="its">its</option>
</select>
</form>
PHP :
$ydept = trim(strip_tags(stripslashes($_POST['yDept'])));
$pass = 87;
if($fname <> "" && $lname <> "" && $theemail <> "" && $ydept <> "#") {
if ($pass >= 80) {
echo "passed"; //take to congrats.php page
}
else {
echo "no pass"; //take to nopass.php page
}
}
else {
echo "something is missing"; //take to the missing.php page
}
我想要完成的是,如果用户没有更改select的值并选择除禁用值以外的其他内容,则应该将用户带到missing.php页面。如果其他值是空白但是当它出现在$ ydept时它会起作用,它总是在nopass.php页面中启动。
我是否在PHP中正确检查了select的值?我认为这就是问题所在?
我尝试了以下内容,看看它是否有所作为:
$ydept = $_POST['yDept'];
但事实并非如此。
答案 0 :(得分:4)
禁用选项不会随表单一起提交,因此您目前正在检查:
("" <> "#") //TRUE
你可以删除&#34;禁用&#34;在<option>
或更改您的IF声明:
if($fname <> "" && $lname <> "" && $theemail <> "" && (!empty($ydept) && $ydept <> "#"))