Compare commits
No commits in common. "4e8855532ea8ca148d8517a7d802126257c5bbdc" and "949293fd9435c1c198ea05dfb69afe21d88c4d5a" have entirely different histories.
4e8855532e
...
949293fd94
80
auth.php
80
auth.php
@ -2,61 +2,72 @@
|
|||||||
session_start();
|
session_start();
|
||||||
require_once "Config.php";
|
require_once "Config.php";
|
||||||
|
|
||||||
// ===================== REGISTER =====================
|
// ==========================================
|
||||||
|
// BAGIAN 1: LOGIKA REGISTER
|
||||||
|
// ==========================================
|
||||||
if (isset($_POST['btn-register'])) {
|
if (isset($_POST['btn-register'])) {
|
||||||
|
|
||||||
$username = trim($_POST['username']);
|
$username = $_POST['username'];
|
||||||
$email = trim($_POST['email']);
|
$email = $_POST['email'];
|
||||||
$password = $_POST['password'];
|
$password = $_POST['password'];
|
||||||
$confirm = $_POST['confirm_password'];
|
$confirm = $_POST['confirm_password'];
|
||||||
|
|
||||||
// validasi
|
// --- 1. VALIDASI DATA ---
|
||||||
if (!$username || !$email || !$password || !$confirm) {
|
|
||||||
header("Location: index.php?error=kosong");
|
// Cek Kosong
|
||||||
|
if (empty($username) || empty($email) || empty($password) || empty($confirm)) {
|
||||||
|
echo "<script>alert('Semua data wajib diisi!'); window.location='index.php';</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cek Format Email (Biar gak ngawur)
|
||||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||||
header("Location: index.php?error=email");
|
echo "<script>alert('Format email tidak valid! (contoh: nama@email.com)'); window.location='index.php';</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cek Panjang Password (Minimal 6)
|
||||||
if (strlen($password) < 6) {
|
if (strlen($password) < 6) {
|
||||||
header("Location: index.php?error=pass");
|
echo "<script>alert('Password terlalu pendek! Minimal 6 karakter.'); window.location='index.php';</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cek Kesamaan Password
|
||||||
if ($password !== $confirm) {
|
if ($password !== $confirm) {
|
||||||
header("Location: index.php?error=confirm");
|
echo "<script>alert('Password dan Konfirmasi tidak cocok!'); window.location='index.php';</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// cek user
|
// --- 2. CEK DUPLIKAT DI DATABASE ---
|
||||||
$cek = mysqli_prepare($conn, "SELECT id FROM users WHERE username=? OR email=?");
|
$stmt = mysqli_prepare($conn, "SELECT id FROM users WHERE username = ? OR email = ?");
|
||||||
mysqli_stmt_bind_param($cek, "ss", $username, $email);
|
mysqli_stmt_bind_param($stmt, "ss", $username, $email);
|
||||||
mysqli_stmt_execute($cek);
|
mysqli_stmt_execute($stmt);
|
||||||
mysqli_stmt_store_result($cek);
|
mysqli_stmt_store_result($stmt);
|
||||||
|
|
||||||
if (mysqli_stmt_num_rows($cek) > 0) {
|
if (mysqli_stmt_num_rows($stmt) > 0) {
|
||||||
header("Location: index.php?error=exist");
|
echo "<script>alert('Username atau Email sudah terpakai! Ganti yang lain.'); window.location='index.php';</script>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
mysqli_stmt_close($stmt);
|
||||||
|
|
||||||
mysqli_stmt_close($cek);
|
// --- 3. SIMPAN DATA ---
|
||||||
|
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
|
||||||
|
$stmtInsert = mysqli_prepare($conn, "INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
|
||||||
|
mysqli_stmt_bind_param($stmtInsert, "sss", $username, $email, $hashed_password);
|
||||||
|
|
||||||
// simpan
|
if (mysqli_stmt_execute($stmtInsert)) {
|
||||||
$hash = password_hash($password, PASSWORD_DEFAULT);
|
echo "<script>alert('Registrasi Berhasil! Silakan Login.'); window.location='index.php';</script>";
|
||||||
$insert = mysqli_prepare($conn, "INSERT INTO users (username,email,password) VALUES (?,?,?)");
|
} else {
|
||||||
mysqli_stmt_bind_param($insert, "sss", $username, $email, $hash);
|
echo "Error: " . mysqli_error($conn);
|
||||||
mysqli_stmt_execute($insert);
|
}
|
||||||
mysqli_stmt_close($insert);
|
mysqli_stmt_close($stmtInsert);
|
||||||
|
|
||||||
header("Location: index.php?success=register");
|
|
||||||
exit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===================== LOGIN =====================
|
// ==========================================
|
||||||
if (isset($_POST['btn-login'])) {
|
// BAGIAN 2: LOGIKA LOGIN
|
||||||
|
// ==========================================
|
||||||
|
else if (isset($_POST['btn-login'])) {
|
||||||
|
|
||||||
$username = $_POST['username'];
|
$username = $_POST['username'];
|
||||||
$password = $_POST['password'];
|
$password = $_POST['password'];
|
||||||
@ -66,15 +77,20 @@ if (isset($_POST['btn-login'])) {
|
|||||||
mysqli_stmt_execute($stmt);
|
mysqli_stmt_execute($stmt);
|
||||||
|
|
||||||
$result = mysqli_stmt_get_result($stmt);
|
$result = mysqli_stmt_get_result($stmt);
|
||||||
$user = mysqli_fetch_assoc($result);
|
$row = mysqli_fetch_assoc($result);
|
||||||
|
|
||||||
if (!$user || !password_verify($password, $user['password'])) {
|
// JIKA GAGAL
|
||||||
header("Location: index.php?error=login");
|
if (!$row || !password_verify($password, $row['password'])) {
|
||||||
|
// Kirim sinyal error ke HTML (Kotak Merah)
|
||||||
|
header("Location: index.php?error=gagal");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$_SESSION['user'] = $user;
|
// JIKA SUKSES
|
||||||
|
$_SESSION['username'] = $row['username'];
|
||||||
|
$_SESSION['login'] = true;
|
||||||
|
|
||||||
header("Location: mainboard.php");
|
header("Location: mainboard.html");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
?>
|
||||||
Loading…
x
Reference in New Issue
Block a user