Postingan lainnya
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";
}
}
?>
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
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 !!
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