0

問題があります。コードの結果を取得できません。コードをデバッグしようとすると。コードで 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";
    }
}
?>

誰でも、問題を解決するのを手伝ってください。あなたの助けに感謝します。

ありがとうございました。

4

6 に答える 6

4

が欠落してelseおり、比較に正しい演算子を使用していません。

また、比較を切り替えて、最初の値が常に有効な値になるようにします。

if(1 == $kelas)
{
    include ("kelas1.php");
}
else if(2 == $kelas)
{
    include ("kelas2.php");
}
else
{
    echo "Tidak ada kelas";
}
于 2012-07-06T14:46:03.423 に答える
2
$kelas = 1

割り当てです

$kelas == 1

比較です

于 2012-07-06T14:45:35.110 に答える
1
if($kelas = 1)

する必要があります

if($kelas == 1)
于 2012-07-06T14:45:51.833 に答える
1

= の代わりに == を使用してみてください。「=」は代入演算子であり、式は右側のオペランドの値を取得します。

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

また、ステートメントは常にecho "Tidak ada kelas";if ($kelas == 1). これは意図的なものでしたか?

于 2012-07-06T14:46:58.447 に答える
0

割り当て用の==単一ではなく、比較のテストに使用する if ステートメントで=

于 2012-07-06T14:45:46.117 に答える
0

elsif 構造を見てください。

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";
  }
}

またはスイッチ構造

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";
  }
}
于 2012-07-06T14:51:03.910 に答える