2009-02-24 156 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>'; 
}