Postingan lainnya
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();
}
?>
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
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'];
}
}