diff --git a/topup.php b/topup.php index af183d1..e924af2 100644 --- a/topup.php +++ b/topup.php @@ -8,6 +8,7 @@ if (!isset($_SESSION['username'])) { } $message = ''; +$message_type = ''; $username = mysqli_real_escape_string($conn, $_SESSION['username']); // Load balance from database setiap kali halaman dibuka @@ -18,10 +19,19 @@ if ($res && mysqli_num_rows($res) > 0) { } if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $bank_method = isset($_POST['bank_method']) ? $_POST['bank_method'] : ''; $amount = isset($_POST['amount']) ? (int)$_POST['amount'] : 0; + if ($amount <= 0) { $message = 'Masukkan jumlah top up yang valid (lebih dari 0).'; + $message_type = 'error'; + } elseif (empty($bank_method)) { + $message = 'Pilih metode pembayaran terlebih dahulu.'; + $message_type = 'error'; } else { + // Simulasi proses bank + $virtual_account = 'VA-' . strtoupper(substr($bank_method, 0, 3)) . '-' . substr($username, 0, 3) . '-' . rand(10000, 99999); + // Update balance di database $update = mysqli_query($conn, "UPDATE users SET balance = balance + $amount WHERE username = '$username'"); if ($update) { @@ -30,12 +40,15 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($res && mysqli_num_rows($res) > 0) { $row = mysqli_fetch_assoc($res); $_SESSION['balance'] = (int)$row['balance']; - $message = 'Top up berhasil! Saldo sekarang: Rp ' . number_format($_SESSION['balance'], 0, ',', '.'); + $message = 'Top up berhasil! Saldo Anda: Rp ' . number_format($_SESSION['balance'], 0, ',', '.'); + $message_type = 'success'; } else { $message = 'Top up berhasil, tetapi gagal mengambil saldo terbaru.'; + $message_type = 'error'; } } else { $message = 'Gagal memproses top up. Coba lagi.'; + $message_type = 'error'; } } } @@ -46,29 +59,336 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
-Pengguna:
-Saldo saat ini:
+Pilih metode pembayaran bank Anda
+