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 的值并选择禁用值以外的其他内容,它应该将用户带到缺失.php页面。如果其他值为空,则有效,但是当涉及到$ydept时,它总是在nopass.php页面中启动。
我在 PHP 中是否正确检查了选择的值?我认为这就是问题所在?
我尝试了以下内容,看看它是否有区别:
$ydept = $_POST['yDept'];
但事实并非如此。
禁用选项未随表单一起提交,因此您当前正在检查:
("" <> "#") //TRUE
您可以删除<option>
上的"禁用"或更改 IF 语句:
if($fname <> "" && $lname <> "" && $theemail <> "" && (!empty($ydept) && $ydept <> "#"))