Gagal Login (Hanya Bisa Login 1 akun dari database) & Gagal redirect header(Location: admin.php)

Mohon bantuannya teman2. 1. script auth.php saya dibawah ini hanya bisa login dengan 1 akun dari db. selebihnya gagal login 2. kalaupun sdh berhasil login (username dan password diterima) tetap stay di halaman auth.php padahal sdh ada ini header("Location: admin.php");

 <?php
	error_reporting(E_ERROR | E_PARSE);


	$settings_dir = "../settings";
	include "$settings_dir/database.php";

	$login=mysql_query('SELECT username, password FROM admin ');
	$r=mysql_fetch_array($login);
	$admin = $r['username'];
	$admin_pw = $r['password'];

	session_start();

if (isset($_POST['user']) && isset($_POST['pass'])) {

	$username = $_POST['user'];
	$password = md5($_POST['pass']);
	if (($username == $admin) && ($password ==$admin_pw)) {
		$_SESSION['admin'] = $username;
		$_SESSION['admin_pw'] = $password;
	}
	header("Location: admin.php");
	exit();

} elseif ((isset($_SESSION['admin']) && isset($_SESSION['admin_pw']) &&$_SESSION['admin'] == $admin && $_SESSION['admin_pw'] == $admin_pw ) || (getenv("REMOTE_ADDR")=="")) {

} else {

	?>
	<html>
	<head>
	<title>Admin Login</title>
		<LINK REL=STYLESHEET HREF="admin.css" TYPE="text/css">
	</head>

	<body>
	<center>
	<br><br>

	<fieldset style="width:30%;"><legend><b>Admin Login</b></legend>
	<form action="auth.php" method="post">

	<table>
	<tr><td>Username</td><td><input type="text" name="user"></td></tr>
	<tr><td>Password</td><td><input type="password" name="pass"></td></tr>
	<tr><td></td><td><input type="submit" value="Login" id="submit"></td>
	</tr></table>
	</form>
	</fieldset>
	</center>
	</body>
	</html>
	<?php
	exit();
}

?>
avatar Wiwin Ardiansyah
@Wiwin Ardiansyah

9 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

3 Jawaban:

Kenapa cuma bisa satu akun? karena querynya ngga bersyarat

 mysql_query('SELECT username, password FROM admin ');

coba pelajari clause WHERE kita milih dimana inputan user cocok dengan database, saya sarankan agan pelajari kelas ini buat ngerti basi basic authentikasi https://sekolahkoding.com/kelas/membuat-sistem-login-dan-register

avatar hilmanski
@hilmanski

2670 Kontribusi 2132 Poin

Dipost 7 tahun yang lalu

iya gan "SELECT" kurang spesifik..

avatar jhonyrain32
@jhonyrain32

196 Kontribusi 192 Poin

Dipost 7 tahun yang lalu

Coba lakukan While loop seperti ini gan.. saya pikir dengan tanpa Loop cuma mengambil data yang awal saja.. ( Maaf kalau saya salah, punya saya berhasil )..


        $Username = $_POST['name-login']; // nama yang dimasukkan di form login
        $link = mysqli_connect('localhost','root','root','database'); // sesuaikan dengan database mu..
	$login="SELECT username, password FROM admin WHERE username= '$Username' ";
        $Sincron =  mysqli_query($link, $login);

    if (mysqli_num_rows($Sincron) > 0) {
      while ($r = mysqli_fetch_assoc($Sincron)) {
        $admin = $r['username'];
	$admin_pw = $r['password'];
      }
    }

avatar dodipsitorus
@dodipsitorus

412 Kontribusi 145 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban