在 PHP 中检索 SELECT 的值


Retrieve the value of SELECT in PHP

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 <> "#"))