2011-07-20 32 views
0

我在三個不同的下拉菜單上執行了一些驗證。如果所有這三個變量都是NULL,我想引導用戶到特定的錯誤。我要求訪問者選擇其中一個下拉菜單,而不是全部三個。這是我的代碼行,我不能看到工作:PHP多個下拉式變量空

if ($dropdown1 == 'NULL', $dropdown2 == 'NULL', $dropdown3 == 'NULL') { 
echo '<h1>Error Edited For the Sake of Brevity</h1>'; 
} 
else 

Apreciate任何想法任何人都可以與我分享。 再次感謝, --Matt

+0

我還沒有看到在結構中使用逗號運算符控制你使用它的方式。 – Kumar

+0

$ dropdown的數據類型是什麼?這是一個字符串還是沒有設置? – Ibu

回答

0

我假設你正在試圖做一個布爾值和比較,這在PHP是:

if ($dropdown1 == 'NULL' && $dropdown2 == 'NULL' && $dropdown3 == 'NULL')... 
+0

約旦,非常感謝你!感謝您的時間和投入! –

0
if ($dropdown1 == 'NULL', $dropdown2 == 'NULL', $dropdown3 == 'NULL') { 

應該

if ($dropdown1 == 'NULL' || $dropdown2 == 'NULL' || $dropdown3 == 'NULL') { 

在這種情況下,如果任何變量爲空,它將顯示您的錯誤消息

+0

只是想指出他試圖做一個AND操作,而不是OR。 – Jordan

0

你不應該使用逗號分隔的條件

if ($dropdown1 == 'NULL' || $dropdown2 == 'NULL' || $dropdown3 == 'NULL') 
+1

我不知道爲什麼我打擾這張貼,我應該知道,當我完成打字時,會有5個其他答案! – tomfumb

+0

只是想指出,他試圖做一個AND操作,而不是OR。 – Jordan

1

很好地,你可能得到的所有值從$ _REQUEST/$ _ GET/$ _ POST(我用下面的$ _REQUEST,因爲它的工作原理所有),因爲你會使用isset

if(!isset($_REQUEST[ 'dropdown1' ]) && 
    !isset($_REQUEST[ 'dropdown2' ]) && 
    !isset($_REQUEST[ 'dropdown3' ])) 
{ 
    // none of them are set. 
} 

如果你實際上是在尋找,看是否自己設置爲NULL的變量,那麼你應該使用is_null

if(is_null($dropdown1) && 
    is_null($dropdown2) && 
    is_null($dropdown3)) 
{ 
    // none of them are set. 
} 

最後,如果你有理由相信,他們將STRING價值'NULL'那麼你可以使用==(這是一個相當罕見的情況):

if('NULL' == $dropdown1 && 
    'NULL' == $dropdown2 && 
    'NULL' == $dropdown3) 
{ 
    // none of them are set. 
} 

您可以更改任何ABO血型我們去測試一下,看看它們中的任何一個是不是用||設置的(或)而不是& &(和):

if('NULL' == $dropdown1 || 
    'NULL' == $dropdown2 || 
    'NULL' == $dropdown3) 
{ 
    // one of them is not set. 
} 
0

,如果你想給當所有的下拉菜單爲null,那麼你應該利用這個條件錯誤信息

如果($ dropdown1 ==「NULL 「& & $ dropdown2 == 'NULL' & & $ dropdown3 == 'NULL'){

回波$ ERROR_MSG; }