PHP如果其他功能不起作用

时间:2012-07-06 14:43:07

标签: php if-statement

我遇到了问题,我无法得到代码的结果。当我尝试调试代码时。我在我的代码中使用了IF语句。

这很简单,例如:如果kelas(基于user_id登录)= 1,则将其重定向到kelas1.php,如果kelas = 2,则重定向到kelas 2,否则没有kelas。

这是我的代码:

<?php
session_start();

if(!isset($_SESSION['user_id'])) {      
    header('Location: form_login_siswa.html');
}
$user_id = $_SESSION['user_id'];
include ("config.php");
$query = "SELECT kelas FROM t_siswa WHERE user_id = '$user_id'";
$hasil = mysql_query($query);

while ($data = mysql_fetch_array($hasil)) {
    $kelas = $data['kelas'];

    if($kelas = 1) {
        include ("kelas1.php");
    }
    if($kelas = 2) {
        include ("kelas2.php");
    } else {
        echo "Tidak ada kelas";
    }
}
?>

任何人,请帮助解决问题。 赞赏你的帮助。

谢谢。

6 个答案:

答案 0 :(得分:4)

您错过了else,也没有使用正确的运算符进行比较。

此外,切换比较,以便第一个值始终是有效值。

if(1 == $kelas)
{
    include ("kelas1.php");
}
else if(2 == $kelas)
{
    include ("kelas2.php");
}
else
{
    echo "Tidak ada kelas";
}

答案 1 :(得分:2)

$kelas = 1

是作业

$kelas == 1

是比较

答案 2 :(得分:1)

if($kelas = 1)

应该是

if($kelas == 1)

答案 3 :(得分:1)

尝试使用==而不是=。 “=”是赋值运算符,表达式获取右操作数的值。

if($kelas == 1)
{
    include ("kelas1.php");
}
if($kelas == 2)
{
    include ("kelas2.php");
}
else
{
    echo "Tidak ada kelas";
}

此外,如果echo "Tidak ada kelas";,该语句将始终($kelas == 1)。这是故意的吗?

答案 4 :(得分:0)

在使用==进行测试比较的if语句中,而不是用于分配的单=

答案 5 :(得分:0)

查看elsif structure

while ($data = mysql_fetch_array($hasil)) {
  $kelas = $data['kelas'];

  if($kelas == 1) {
    include ("kelas1.php");
  } elseif($kelas == 2) {
    include ("kelas2.php");
  } else {
    echo "Tidak ada kelas";
  }
}

switch structure

while ($data = mysql_fetch_array($hasil)) {
  switch($data['kelas']){
    case 1:
      include ("kelas1.php");
      break;
    case 2:
      include ("kelas2.php");
      break;
    default:
    echo "Tidak ada kelas";
  }
}