halohalo
bnmbnmbnhjkhjkhjkhjktyutyutyuytutyutyutyhgjgjghjgjghjguytutyry
/
home
/
u295559686
/
domains
/
stanjo.in
/
public_html
/
Upload FileeE
HOME
<?php ob_start(); $pageTitle = 'Checkout'; include 'header.php'; // Check if user is logged in if (!isset($_SESSION['customer_id'])) { header("Location: login.php?redirect=checkout.php"); exit; } // Check which cart to use $cart = []; $is_buy_now = false; if (isset($_COOKIE['stnjo_buy_now']) && !empty($_COOKIE['stnjo_buy_now'])) { $cart = json_decode($_COOKIE['stnjo_buy_now'], true); if (!is_array($cart) || empty($cart)) { $cart = isset($_COOKIE['stnjo_cart']) ? json_decode($_COOKIE['stnjo_cart'], true) : []; } else { $is_buy_now = true; } } else { $cart = isset($_COOKIE['stnjo_cart']) ? json_decode($_COOKIE['stnjo_cart'], true) : []; } if (!is_array($cart) || empty($cart)) { echo "<script>window.location.href='cart.php';</script>"; exit; } $grand_total = 0; foreach ($cart as $item) { $grand_total += $item['price'] * $item['quantity']; } $error = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $first_name = $conn->real_escape_string($_POST['first_name']); $last_name = $conn->real_escape_string($_POST['last_name']); $email = $conn->real_escape_string($_POST['email']); $phone = $conn->real_escape_string($_POST['phone']); $address = $conn->real_escape_string($_POST['address']); $city = $conn->real_escape_string($_POST['city']); $pin_code = $conn->real_escape_string($_POST['pin_code']); $notes = $conn->real_escape_string($_POST['notes']); $payment_method = $conn->real_escape_string($_POST['payment']); $order_status = 'Pending'; if (empty($first_name) || empty($last_name) || empty($email) || empty($phone) || empty($address) || empty($city) || empty($pin_code)) { $error = "Please fill in all required fields."; } else { $order_number = 'STNJO' . time() . rand(10, 99); $full_name = trim($first_name . ' ' . $last_name); $stmt = $conn->prepare("INSERT INTO orders (order_number, name, email, phone, address, city, pincode, total_amount, payment_method, order_status, notes) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt->bind_param("sssssssdsss", $order_number, $full_name, $email, $phone, $address, $city, $pin_code, $grand_total, $payment_method, $order_status, $notes); if ($stmt->execute()) { $order_id = $stmt->insert_id; $item_stmt = $conn->prepare("INSERT INTO order_items (order_id, order_number, product_id, title, price, qty, variant) VALUES (?, ?, ?, ?, ?, ?, ?)"); foreach ($cart as $item) { $item_stmt->bind_param("isisdis", $order_id, $order_number, $item['product_id'], $item['title'], $item['price'], $item['quantity'], $item['variant_info']); $item_stmt->execute(); } // Clear cookies setcookie('stnjo_cart', '', time() - 3600, '/'); setcookie('stnjo_buy_now', '', time() - 3600, '/'); echo "<script> document.cookie = 'stnjo_cart=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'; document.cookie = 'stnjo_buy_now=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'; window.location.href='order-success.php?id=$order_id'; </script>"; exit; } else { $error = "Failed to place order. Please try again."; } } } ?> <main class="mt-[80px] py-24"> <div class="container mx-auto px-4 md:px-8"> <h1 class="text-4xl font-heading tracking-tight mb-12">Checkout</h1> <?php if ($error): ?> <div class="bg-red-900 border border-red-500 text-white px-4 py-3 rounded mb-6 text-sm"> <?= htmlspecialchars($error) ?> </div> <?php endif; ?> <form method="POST" action=""> <div class="flex flex-col lg:flex-row gap-16"> <!-- Billing Form --> <div class="w-full lg:w-3/5 space-y-6"> <h2 class="text-lg tracking-widest text-[#A1A1AA] border-b border-[#27272A] pb-4">Billing Details</h2> <div class="grid grid-cols-1 sm:grid-cols-2 gap-6"> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">First Name *</label> <input type="text" name="first_name" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">Last Name *</label> <input type="text" name="last_name" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> </div> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">Email Address *</label> <input type="email" name="email" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">Phone Number *</label> <input type="tel" name="phone" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">Address *</label> <input type="text" name="address" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> <div class="grid grid-cols-1 sm:grid-cols-2 gap-6"> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">City *</label> <input type="text" name="city" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">PIN Code *</label> <input type="text" name="pin_code" required class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors"> </div> </div> <div> <label class="block text-xs tracking-widest text-[#A1A1AA] mb-2">Order Notes (Optional)</label> <textarea name="notes" rows="4" class="w-full bg-[#111111] border border-[#27272A] px-5 py-4 text-sm focus:outline-none focus:border-white transition-colors resize-none"></textarea> </div> <!-- Payment --> <h2 class="text-lg font-bold tracking-widest text-[#A1A1AA] border-b border-[#27272A] pb-4 pt-6"> Payment Method</h2> <div class="space-y-4"> <label class="flex items-center gap-4 cursor-pointer border border-[#27272A] p-5 hover:border-white transition-colors"> <input type="radio" name="payment" value="cod" checked class="accent-white"> <span class="text-sm">Cash on Delivery</span> </label> <label class="flex items-center gap-4 cursor-pointer border border-[#27272A] p-5 hover:border-white transition-colors"> <input type="radio" name="payment" value="card" class="accent-white"> <span class="text-sm">Credit / Debit Card</span> </label> <label class="flex items-center gap-4 cursor-pointer border border-[#27272A] p-5 hover:border-white transition-colors"> <input type="radio" name="payment" value="upi" class="accent-white"> <span class="text-sm">UPI</span> </label> </div> </div> <!-- Order Summary --> <div class="w-full lg:w-2/5"> <div class="bg-[#111111] border border-[#27272A] p-8 space-y-8 sticky top-[110px]"> <h2 class="text-lg font-bold tracking-widest border-b border-[#27272A] pb-4">Your Order</h2> <div class="space-y-4"> <?php foreach ($cart as $item): ?> <div class="flex justify-between text-sm items-center"> <div class="flex items-center gap-3"> <div class="w-12 h-12 bg-[#1a1a1a] border border-[#27272A] p-1 flex-shrink-0"> <img src="<?= htmlspecialchars(strpos($item['image'], 'admin/uploads') === 0 ? $item['image'] : 'admin/uploads/' . $item['image']) ?>" onerror="this.src='assets/images/default.png'" class="w-full h-full object-contain"> </div> <span class="text-[#A1A1AA]"> <?= htmlspecialchars($item['title']) ?> x <?= $item['quantity'] ?> <?php if ($item['variant_info']): ?><br><small class="text-xs"><?= htmlspecialchars($item['variant_info']) ?></small><?php endif; ?> </span> </div> <span class="whitespace-nowrap flex-shrink-0 ml-4">₹<?= number_format($item['price'] * $item['quantity'], 2) ?></span> </div> <?php endforeach; ?> </div> <div class="border-t border-[#27272A] pt-6 space-y-4"> <div class="flex justify-between text-[#A1A1AA] text-sm"><span>Subtotal</span><span class="text-white">₹<?= number_format($grand_total, 2) ?></span></div> <div class="flex justify-between text-[#A1A1AA] text-sm"><span>Shipping</span><span class="text-white">Free</span></div> <div class="flex justify-between items-center pt-4 border-t border-[#27272A]"> <span class="text-lg font-bold tracking-widest">Total</span> <span class="text-2xl font-bold text-white">₹<?= number_format($grand_total, 2) ?></span> </div> </div> <button type="submit" class="block w-full text-center bg-white text-black py-4 font-bold tracking-widest hover:bg-white hover:text-black transition-colors">Place Order</button> </div> </div> </div> </form> </div> </main> <?php include 'footer.php'; ?>