2009-02-24 190 views
0

我正在使用if語句來聲明用戶是admin還是mod,或者兩者都不是,下面是這個代碼,但是它總是讓$ status =「admin」搞亂,即使這個人既不是這個,也真的讓人困惑我。我的if語句有什麼問題?

if($info['rights'] == "m") { 
    $status = '<font color="#FFFFFF">(mod)</font>'; 
}elseif ($info['rights'] == "a"); { 
    $status = '<font color="#FFFFFF">(admin)</font>'; 
} 
+1

活計,你不能編輯你的問題,以消除誤差一旦它被指出了你。它現在使接受的答案無稽之談。 – Stevo 2009-02-24 02:19:06

回答

16

您似乎意外地在elseif後面加了一個分號(;),所以第二個代碼塊總是被執行。

+0

是的,擺脫第3行的分號,一切都應按計劃進行。 – BoltBait 2009-02-24 02:05:09

4

是否應該在「a」之後有一個分號)?

+0

感謝他們現在工作,我覺得很蠢:P – Ryan 2009-02-24 02:08:32

+0

@Ryan:你應該,我花了一個月的時間試圖弄清楚我在代碼中做了什麼錯誤。在一個文件中,我有$ bla和另一個$ b1a – dassouki 2009-07-27 12:11:55

1

是否聲明瞭$ info? $ info在哪裏定義和分配?

2

您的代碼中存在語法錯誤。

你可以試試這個:

if($info['rights'] == "m") { 
    $status = '<font color="#FFFFFF">(mod)</font>'; 
} else if ($info['rights'] == "a") { 
    $status = '<font color="#FFFFFF">(admin)</font>'; 
}