逻辑别的/如果不工作

时间:2014-06-25 11:28:45

标签: php if-statement

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

3 个答案:

答案 0 :(得分:1)

isset仅返回truefalse的布尔值,因此它永远不会匹配truefalse以外的值。要将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()返回一个布尔值