prepare($sql_check_username)) { $stmt_check->bind_param("s", $username); $stmt_check->execute(); $stmt_check->store_result(); if ($stmt_check->num_rows > 0) { $stmt_check->close(); // Tutup statement sebelum redirect redirectWithMessage('error', 'Username sudah terdaftar. Silakan pilih username lain.'); } $stmt_check->close(); } else { // Handle error jika prepared statement gagal error_log("[".date("d-M-Y H:i:s T")."] Error preparing statement for username check: " . $mysqli->error); redirectWithMessage('error', 'Terjadi kesalahan sistem. Silakan coba lagi nanti.'); } // Masukkan data pengguna baru ke database $sql_insert_user = "INSERT INTO tbl_user (username, password) VALUES (?, ?)"; if ($stmt = $mysqli->prepare($sql_insert_user)) { // Bind parameter ke statement $stmt->bind_param("ss", $username, $hashed_password); // Eksekusi statement if ($stmt->execute()) { // Pendaftaran berhasil, arahkan ke halaman login header("Location: index.php?status=success&message=" . urlencode("Pendaftaran berhasil! Silakan login.")); exit(); } else { // Jika eksekusi gagal error_log("[".date("d-M-Y H:i:s T")."] Error inserting user: " . $stmt->error); redirectWithMessage('error', 'Pendaftaran gagal. Silakan coba lagi.'); } // Tutup statement $stmt->close(); } else { // Handle error jika prepared statement gagal error_log("[".date("d-M-Y H:i:s T")."] Error preparing statement for user insertion: " . $mysqli->error); redirectWithMessage('error', 'Terjadi kesalahan sistem. Silakan coba lagi nanti.'); } // Tutup koneksi database if (isset($mysqli) && $mysqli) { $mysqli->close(); } } else { // Jika akses langsung ke file ini tanpa metode POST redirectWithMessage('error', 'Akses tidak sah.'); } ?>