PHP中的逻辑else
`if`有问题。这是在我的菜单中:
?hal=daftar
?hal=Visi
?hal=berita
对于我的页面:
if(isset($_GET['hal'])=='daftar'){
include"daftar.php";
}
elseif(isset($_GET["hal"])=="Visi"){
include"profil.php";
}
else if(isset($_GET['hal'])=='berita'){
include"berita.php";
}
else
{
echo"wrong"
}
问题是为什么只出现在页面daftar
上,或者如果我点击菜单?hal=Visi
,?hal=berita
始终显示在页面daftar
。
答案 0 :(得分:1)
isset
仅返回true
或false
的布尔值,因此它永远不会匹配true
或false
以外的值。要将isset
与比较运算符一起使用,请执行以下操作:
if (isset($_GET['hal']) && $_GET["hal"] == 'daftar'){
include "daftar.php";
}
else if (isset($_GET["hal"]) && $_GET["hal"] == "Visi"){
include "profil.php";
}
else if (isset($_GET['hal']) && $_GET["hal"] == 'berita'){
include "berita.php";
}
else {
echo "wrong"
}
答案 1 :(得分:0)
它会正常工作:
$myvar = $_GET['hal'];
if($myvar =='daftar'){
include"daftar.php";
}
else if($myvar =="Visi"){
include"profil.php";
}
else if($myvar =='berita'){
include"berita.php";
}
else
{
echo"wrong"
}
答案 2 :(得分:-1)
您正在将bool值与每个条件中的字符串进行比较,因为isset()返回一个布尔值