prepare("SELECT id FROM users WHERE username=? OR email=?"); $cek->bind_param("ss", $username, $email); $cek->execute(); $cek->store_result(); if ($cek->num_rows > 0) { // INI YANG SEBELUMNYA MATI, SEKARANG REDIRECT: header("Location: index.php?register_error=Username atau Email sudah terdaftar!"); exit; } $cek->close(); // --- INSERT DATA BARU --- $hash = password_hash($password, PASSWORD_DEFAULT); $insert = $conn->prepare("INSERT INTO users (username,email,password) VALUES (?,?,?)"); $insert->bind_param("sss", $username, $email, $hash); if ($insert->execute()) { // Register Berhasil -> Arahkan ke Login (atau mainboard) // Kita kosongkan error agar masuk ke state normal header("Location: index.php"); exit; } else { header("Location: index.php?register_error=Gagal mendaftar, coba lagi nanti."); exit; } $insert->close(); } /* ===================================================== LOGIN ==================================================== */ if (isset($_POST['btn-login'])) { $username = $_POST['username']; $password = $_POST['password']; $stmt = $conn->prepare("SELECT * FROM users WHERE username=?"); $stmt->bind_param("s", $username); $stmt->execute(); $result = $stmt->get_result(); $user = $result->fetch_assoc(); // Cek Password if (!$user || !password_verify($password, $user['password'])) { // Redirect dengan parameter 'error=gagal' agar ditangkap JS Login header("Location: index.php?error=gagal"); exit; } // Login Sukses $_SESSION['user'] = $user; header("Location: mainboard.php"); exit; } ?>