2017-09-15 87 views
1

我想通過php驗證一個窗體,但是當我使用下拉菜單時,它不起作用,當使用邏輯運算符或「||」驗證下拉菜單中的PHP

<select name="options"> 
    <option value="">Seleccione idioma</option> 
    <option value="Cake">Cake</option> 
    <option value="Cookies">Cookies</option> 
    <option value="Soda">Soda</option> 
    <option value="Water">Water</option> 
</select> 

這是我在PHP代碼

if($_POST['options'] != 'Cake' || $_POST['options'] != 'Cookies' || $_POST['options'] != 'Soda' || $_POST['options'] != 'Water') 

的代碼只有正常工作時的 「如果」 只使用if($_POST['options']! = 'Cake')

+0

這不是有效的PHP代碼,你就錯過了''||在那裏的最後兩個比較。 – tadman

+1

現在是時候認識你的新朋友了:['in_array'](http://php.net/manual/en/function.in-array.php)。測試數組中的存在性比這個龐大的'if'子句要少得多。 – tadman

+0

建議:您可以使用if($ _ POST ['options'] =''){//您的邏輯} –

回答

1

你還是使用isset()

if(isset(if($_POST['options'])) 

if($_POST['options'] != '') 

OR

有一個array和使用in_array

$array = ['Cake', 'Cookies', 'Soda', 'Water']; 
if(in_array($_POST['options'], $array)){ // code goes here }