Login form error dengan 2 tabel

gan ini kok ada yang salah gak? ane mao loginin kok yang gak kedaftar bisa masuk ya, terus pas login gak masuk ke halamannya malah ke prosesmasuk.php

ini salah satu isi tabelnya

superadmin : id : nama : username : password

INI INDEX.php

<?php
include 'conn.php';

 ?>

<!DOCTYPE html>
<html>
<head>
	<title>Login</title>
	<style>
		label {
			display: block;
		}
	</style>
</head>
<body>
	<form action="prosesmasuk.php" method="post">

		<tr>
			<td>
				<label for="username">Username :</label>
				<input type="text" name="username" id="username" required>
			</td>
		</br>
	</br>
			<td>
				<label for="password">Password :</label>
				<input type="password" name="password" id="password" required>
			</td>
		</tr>

		</br>
			<td>
				<button type="submit" value="login">Login</button>
				<a class="link" href="registrasi/signup.php">Register</a>
			</td>

</form>
</body>
</html>

INI PROSESMASUK.php

<?php

session_start();
include "conn.php";

if ( isset($_POST['login'])) {

// menangkap data yang dikirim dari form login
$username = $_POST['username'];
$password = $_POST['password'];

//superadmin
$superadmin = mysqli_query($conn, "SELECT * FROM superadmin WHERE username = '$username' and password = '$password'");
$fa = mysqli_fetch_array($superadmin);

//admin
$admin = mysqli_query($conn, "SELECT * FROM admin WHERE username = '$username' and password = '$password'");
$fa2 = mysqli_fetch_array($admin);

//petugas
$petugas = mysqli_query($conn, "SELECT * FROM petugas WHERE username = '$username' and password = '$password'");
$fa3 = mysqli_fetch_array($petugas);

//users
$users = mysqli_query($conn, "SELECT * FROM users WHERE username = '$username' and password = '$password'");
$fa4 = mysqli_fetch_array($users);

if (mysqli_num_rows($superadmin) == 0 ) {
  $_SESSION['nama_superadmin'] = $fa['nama']; //nama
  $_SESSION['username_superadmin'] = $fa['username'];//username
  $_SESSION['password_superadmin'] = $fa['password'];//password
  header('location:halaman/page_superadmin.php');
}
elseif (mysqli_num_rows($admin) == 0 ) {
  $_SESSION['nama_admin'] = $fa2['nama']; //nama
  $_SESSION['username_admin'] = $fa2['username'];//username
  $_SESSION['password_admin'] = $fa2['password'];//password
  header('location:halaman/page_admin.php');
}
elseif (mysqli_num_rows($petugas) == 0 ) {
  $_SESSION['nama_petugas'] = $fa3['nama']; //nama
  $_SESSION['username_petugas'] = $fa3['username'];//username
  $_SESSION['password_petugas'] = $fa3['password'];//password
  header('location:halaman/page_petugas.php');
}
elseif (mysqli_num_rows($users) == 0 ) {
  $_SESSION['nama_users'] = $fa4['nama']; //nama
  $_SESSION['username_users'] = $fa4['username'];//username
  $_SESSION['password_users'] = $fa4['password'];//password
  header('location:halaman/page_admin.php');
}
else {
  echo "Login Gagal";
}
}

 ?>

avatar tamatam21
@tamatam21

1 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

passwordnya di md5 gk ?

2 Jawaban:

Sepertinya untuk logic query if harus seperti ini gan if(mysqli_num_rows($admin_apapun) == 1)

Karena jika == 0, maka dari kondisi pertama sudah di anggap true, sehingga langsung di redirect

Ane blum coba di local server, tapi silahkan di coba gan.

semoga berhasil

avatar rad4n
@rad4n

19 Kontribusi 10 Poin

Dipost 4 tahun yang lalu

Tanggapan

tetep gan sama gak bisa juga ane udah coba

bro coba dijadiin satu table aja ditaambahkan colom akses_level

<pre> CONTOH : TBL_USERS

id | nama | password | akses_level

1 yadi 234 superadmin 2 yanot 123 admin 3 totno 123 user 4 toto 123 petugas

$username = $_POST['username']; $password = $_POST['password'];

$result = mysqli_query($conn, "SELECT * FROM tbl_users where username = '$username' and password = '$password' ");

keluarkan data nya dengan forloop terserah mau pake forloop atau tidak sesuaikan dengan requitment

while($akses_level = mysqli_fetch_assoc($data)){

if ($akses_level['akses_level'] == 'superadmin') { $_SESSION['nama_superadmin'] = $fa['nama']; //nama $_SESSION['username_superadmin'] = $fa['username'];//username $_SESSION['password_superadmin'] = $fa['password'];//password header('location:halaman/page_superadmin.php'); } elseif ($akses_level['akses_level'] == 'admin') { $_SESSION['nama_admin'] = $fa2['nama']; //nama $_SESSION['username_admin'] = $fa2['username'];//username $_SESSION['password_admin'] = $fa2['password'];//password header('location:halaman/page_admin.php'); } elseif ($akses_level['akses_level'] == 'petugas' ) { $_SESSION['nama_petugas'] = $fa3['nama']; //nama $_SESSION['username_petugas'] = $fa3['username'];//username $_SESSION['password_petugas'] = $fa3['password'];//password header('location:halaman/page_petugas.php'); } elseif ($akses_level['akses_level'] == 'user') { $_SESSION['nama_users'] = $fa4['nama']; //nama $_SESSION['username_users'] = $fa4['username'];//username $_SESSION['password_users'] = $fa4['password'];//password header('location:halaman/page_admin.php'); } else { echo "Login Gagal"; }

}

</pre>

Good Luck !!

avatar abubakar
@abubakar

72 Kontribusi 19 Poin

Dipost 4 tahun yang lalu

Tanggapan

iya bro yang multi user udah, cuman di suruh bikin dari tabel berbeda, nah ane bingung udah ngikutin tutor masih ada yang salah :( btw makasih bro sarannya

Login untuk ikut Jawaban