0

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'];

しかし、そうではありませんでした。

4

1 に答える 1

4

無効なオプションはフォームで送信されないため、現在確認中です:

("" <> "#") //TRUE

の「無効」を削除するか<option>、IF ステートメントを変更できます。

if($fname <> "" && $lname <> "" && $theemail <> "" && (!empty($ydept) && $ydept <> "#"))
于 2013-06-12T16:01:25.097 に答える