我的elseif
语句被忽略了。 if
和else
工作但elseif
没有。
if ($location === "Canterlot") {
echo "you cannot add a thread here...";
} elseif ($admin === "3") {
echo '<form action="" method="post">
<input type="text" name="thread_name" value="comment">
<textarea name="thread"></textarea>
<input type="submit" value="Comment"/>
</form>';
} else {
echo '<form action="" method="post">
<input type="text" name="thread_name" value="comment">
<textarea name="thread"></textarea>
<input type="submit" value="Comment"/>
</form>';
}
答案 0 :(得分:3)
答案 1 :(得分:0)
($admin === "3")
应该是
($admin == "3")
答案 2 :(得分:0)
请注意
==运算符只是检查左右值是否相等。但是,===运算符实际上会检查左右值是否相等,并检查它们是否属于同一变量类型。
我认为你有这样的事情:
$location = "Canterlot" and $admin ="3";
所以它的第一个条件为真($location == "Canterlot"
)并且它永远不会检查else if ($admin =="3")
您可以尝试这样的事情:
if($location === "Canterlot" && $admin !== "3"){
echo "you cannot add a thread here...";
}else if ($admin === "3"){
echo '<form action="" method="post">
<input type="text" name="thread_name" value="comment">
<textarea name="thread"></textarea>
<input type="submit" value="Comment"/>
</form>';
}else{
echo '<form action="" method="post">
<input type="text" name="thread_name" value="comment">
<textarea name="thread"></textarea>
<input type="submit" value="Comment"/>
</form>';
}
更新:
如果$admin
是intteger,请按以下方式检查:
if($location === "Canterlot" ){
echo "you cannot add a thread here...";
}else if ($admin == "3"){
echo '<form action="" method="post">
<input type="text" name="thread_name" value="comment">
<textarea name="thread"></textarea>
<input type="submit" value="Comment"/>
</form>';
}else{
echo '<form action="" method="post">
<input type="text" name="thread_name" value="comment">
<textarea name="thread"></textarea>
<input type="submit" value="Comment"/>
</form>';
}
答案 3 :(得分:0)
我跑了这个:
<?php
$location = 'foo';
$admin = '3';
if ($location === "Canterlot") {
echo 'didn\'t get it';
} elseif ($admin === '3') {
echo 'got it';
} else {
echo 'didn\'t get it';
}
输出为got it
。请参阅here。
使用:
<?php
$location = 'foo';
$admin = 3;
if ($location === "Canterlot") {
echo 'didn\'t get it';
} elseif ($admin === 3) {
echo 'got it';
} else {
echo 'didn\'t get it';
}
输出也是got it
。
请检查您的其余代码。