User biasa Dan User Admin

saya punya function admin seperti ini, tapi ketika saya login dengan user admin, tetap pergi kehalaman index.php, padahal saya maunya ketika user admin login, dia akan di arahkan ke halaman admin.php, apa kah ada yang salah ?

NOTE : == 1 itu berasal dari database yang bila user admin, type nya saya kasih nilai 1,

 function admin($nama){
  global $link;
  $nama = mysqli_real_escape_string($link, $nama);

  $query = "SELECT type FROM user WHERE username = '$nama' ";

  if($result = mysqli_query($link, $query) ){
    if(mysqli_num_rows($result)['type'] == 1 ){
      return true;
    }else {
      return false;
    }
  }

if(admin($nama) ){
          header('Location: admin.php');
        }else {
          $_SESSION['user'] = $nama;
          header('Location: index.php');
        }

}
avatar RyanSyah26
@RyanSyah26

34 Kontribusi 4 Poin

Diperbarui 6 tahun yang lalu

4 Jawaban:

coba cek di if nya gan.. agan menggunakan fungsi mysqli_num_rows yang dimana fungsi nya berguna untuk menghitung/mendapatkan total baris dan agan juga memanggil array dengan key "type" maka hasil nya akan selalu false gan karna hasil nya bukan 1

*if pada fungsi admin

avatar sukmaw
@sukmaw

340 Kontribusi 75 Poin

Dipost 6 tahun yang lalu

maaf mas, masih bingung saya, apakah ada yang harus saya ganti kodenya,?

avatar RyanSyah26
@RyanSyah26

34 Kontribusi 4 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

coba ganti dengan ini


if($result = mysqli_query($link, $query) ){
    if($row = mysqli_fetch_array($result) ){
      if($row['type'] == 1){
        return true;
      }else{
        return false;
      }
    }
}

avatar Jauhary
@Jauhary

37 Kontribusi 12 Poin

Dipost 6 tahun yang lalu

Bisa Mas Terima Kasih, Paham Paham

avatar RyanSyah26
@RyanSyah26

34 Kontribusi 4 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban