<?php
require 'config/database.php';
// Redirect jika keranjang kosong (Tidak ada yang bisa dibeli)
if (empty($_SESSION['cart'])) {
header("Location: index.php");
exit;
}
// 1. Menghitung Total Harga (Logika yang sama seperti di keranjang.php)
$cart = $_SESSION['cart'];
$ids = implode(',', array_keys($cart));
$stmt = $pdo->query("SELECT id, harga FROM produk WHERE id IN ($ids)");
$produk_beli = $stmt->fetchAll();
$total_bayar = 0;
foreach($produk_beli as $p) {
$qty = $cart[$p['id']];
$total_bayar += ($p['harga'] * $qty);
}
// 2. Proses Form saat tombol "Bayar Sekarang" ditekan
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Ambil input form dan bersihkan dari injeksi HTML/XSS
$nama = htmlspecialchars($_POST['nama_pembeli'] ?? '');
$alamat = htmlspecialchars($_POST['alamat'] ?? '');
if (!empty($nama) && !empty($alamat)) {
try {
// INSERT pesanan ke tabel database
$sql = "INSERT INTO pesanan (nama_pembeli, alamat, total_harga) VALUES (?, ?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$nama, $alamat, $total_bayar]);
// KUNCI PENTING: Kosongkan keranjang setelah sukses beli
unset($_SESSION['cart']);
// Berikan pesan flash dan redirect ke halaman sukses
$_SESSION['pesan_sukses'] = "Terima kasih, <b>$nama</b>! Pesanan Anda sebesar <b>" . rupiah($total_bayar) . "</b> sedang diproses dan akan dikirim ke alamat Anda.";
header("Location: checkout.php?status=sukses");
exit;
} catch(PDOException $e) {
$error = "Terjadi kesalahan sistem: " . $e->getMessage();
}
} else {
$error = "Nama dan Alamat wajib diisi!";
}
}
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Checkout - Toko Online</title>
<link rel="stylesheet" href="css/style.css">
<style>
.checkout-box { background: white; padding: 30px; border-radius: 8px; max-width: 500px; margin: 0 auto; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 5px; font-weight: bold; }
.form-group input, .form-group textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 15px; }
</style>
</head>
<body>
<nav>
<h2><a href="index.php">🛒 Toko Keren</a></h2>
</nav>
<div class="container">
<!-- JIKA CHECKOUT BERHASIL (Menampilkan ucapan terima kasih) -->
<?php if(isset($_GET['status']) && $_GET['status'] === 'sukses'): ?>
<div class="checkout-box" style="text-align: center;">
<h1 style="color: #2ecc71; margin-bottom: 15px;">🎉 Transaksi Berhasil!</h1>
<?php if(isset($_SESSION['pesan_sukses'])): ?>
<p style="font-size: 16px; line-height: 1.6; margin-bottom: 25px;">
<?= $_SESSION['pesan_sukses'] ?>
</p>
<?php unset($_SESSION['pesan_sukses']); ?>
<?php endif; ?>
<a href="index.php" class="btn">Kembali ke Beranda</a>
</div>
<!-- JIKA SEDANG MENGISI FORM (Belum selesai) -->
<?php else: ?>
<div class="checkout-box">
<h2 style="margin-bottom: 20px;">Form Pengiriman 📦</h2>
<!-- Menampilkan Error jika ada -->
<?php if(isset($error)): ?>
<div style="background: #e74c3c; color: white; padding: 10px; margin-bottom: 20px; border-radius: 4px;">
<?= $error ?>
</div>
<?php endif; ?>
<div style="background: #ecf0f1; padding: 15px; margin-bottom: 20px; border-radius: 4px;">
<strong>Total yang harus dibayar:</strong>
<h3 style="color: #e67e22; margin-top: 5px;"><?= rupiah($total_bayar) ?></h3>
</div>
<form method="POST">
<div class="form-group">
<label>Nama Lengkap Pembeli</label>
<input type="text" name="nama_pembeli" required placeholder="Masukkan nama Anda">
</div>
<div class="form-group">
<label>Alamat Lengkap Pengiriman</label>
<textarea name="alamat" rows="4" required placeholder="Jalan, RT/RW, Kecamatan, Kota, Kode Pos..."></textarea>
</div>
<div style="margin-top: 25px;">
<button type="submit" class="btn btn-success">✅ Bayar Sekarang</button>
</div>
</form>
<div style="margin-top: 15px; text-align: center;">
<a href="keranjang.php" style="color: #7f8c8d; text-decoration: none;">← Kembali ke Keranjang</a>
</div>
</div>
<?php endif; ?>
</div>
</body>
</html>