我試圖根據SELECT框和用戶輸入(兩者都是必需的)進行搜索選項。但是在下面的代碼中,正確和錯誤的輸入都顯示爲錯誤的輸入。有人可以解釋代碼中的錯誤嗎?在PHP中顯示正確的輸出問題
這裏是HTML
<form action="" method="POST">
<select name="selectOpt">
<option>Select a list</option>
<option value="one">ID</option>
<option value="delName">Dealer Name</option>
<option value="medName">Medical Name</option>
</select>
<input type="text" name="uinput" placeholder="Enter Search Key"/>
<button type="submit" name="submit">search</button>
</form>
PHP
if(isset($_POST['submit'])){
if(!empty($_POST['selectOpt']) && !empty($_POST['uinput'])){
if($_POST['selectOpt']=='one'){
$id = $_POST['selectOpt'];
if (!preg_match("/^[0-9]*$/",$id)){
echo "not valid";
}else{
echo "valid";
}
}
}else{
echo "Enter Value";
}
}
你會得到什麼輸出結果,你輸入的是什麼? – chris85
你有兩個互斥的條件。如果'selectOpt'等於「one」,那麼它不能是一個數字('preg_match' condtion) –
如果我輸入一個數值,那麼它也顯示爲錯誤的輸入(應該是正確的) – phpLover