Editing: /home/goacom/public_html/scratch_extract/deposit.php
<?php /* * 1. START SESSION & CHECK LOGIN */ session_start(); // If not logged in, redirect if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit(); } // Database Config $host = 'localhost'; $db = 'tishanw1_melbets'; $user = 'tishanw1_melbets'; $pass = 'tishanw1_melbets'; $user_id = $_SESSION['user_id']; // Connect $mysqli = new mysqli($host, $user, $pass, $db); if ($mysqli->connect_error) { die("Connection failed: " . $mysqli->connect_error); } // --- PROCESS SUBMISSION --- $message = ""; $error = false; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $bank = $_POST['bank'] ?? ''; $amount = intval($_POST['amount'] ?? 0); $promo = $_POST['promo'] ?? 'none'; // VALIDATION if (empty($bank)) { $message = "Please select a payment gateway (Bank)."; $error = true; } elseif ($amount < 100 || $amount > 30000) { $message = "Amount must be between 100 and 30,000."; $error = true; } else { // Generate unique Transaction ID $trx_id = 'DEP' . time() . rand(1000, 9999); // Insert into deposit_withdrawal_history $stmt = $mysqli->prepare("INSERT INTO deposit_withdrawal_history (user_id, type, amount, status, payment_method, transaction_hash, promo_type, created_at) VALUES (?, 'deposit', ?, 'pending', ?, ?, ?, NOW())"); $stmt->bind_param("issss", $user_id, $amount, $bank, $trx_id, $promo); if ($stmt->execute()) { // Redirect to Payment Gateway with the Transaction ID header("Location: pay_gate.php?trx=" . $trx_id); exit(); } else { $message = "Error initiating deposit. Please try again."; $error = true; } $stmt->close(); } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="description" content="MELBETE - Official Gaming & Betting Platform." /> <title>MELBETE - Deposit</title> <link rel="stylesheet" href="index.css" /> <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&display=swap" rel="stylesheet" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /> <style> .promo-selected { background-color: #fee2e2; border-left: 4px solid rgb(240, 104, 39); } .before_dot::before { content: ''; display: inline-block; width: 8px; height: 8px; background: #ccc; border-radius: 50%; margin-right: 10px; } .after_dot::before { background: rgb(240, 104, 39); } .bank-input:checked + label .bank { border: 2px solid rgb(240, 104, 39); } </style> </head> <body> <div id="root"> <div class="w-full bg-bodyColor"> <div class="max-w-[1000px] mx-auto"> <!-- Header --> <div class="bg-[#182343]"> <div class="flex justify-between items-center h-12" style="background: rgb(240, 104, 39);"> <a href="javascript:history.back()" class="text-white cursor-pointer text-[26px] w-16 flex items-center justify-center"> <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 512 512" height="1em" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M217.9 256L345 129c9.4-9.4 9.4-24.6 0-33.9-9.4-9.4-24.6-9.3-34 0L167 239c-9.1 9.1-9.3 23.7-.7 33.1L310.9 417c4.7 4.7 10.9 7 17 7s12.3-2.3 17-7c9.4-9.4 9.4-24.6 0-33.9L217.9 256z"></path></svg> </a> <div class="w-full text-white text-[19px] text-center"> Deposit </div> </div> </div> <!-- Content --> <div class="usrTrans-wrapper common-box form-f bg-white px-2 pt-4"> <div class="withdraw-form usrTrans-form"> <?php if($message): ?> <div class="p-3 mb-3 text-center text-sm <?php echo $error ? 'bg-red-100 text-red-700' : 'bg-green-100 text-green-700'; ?> rounded"> <?php echo $message; ?> </div> <?php endif; ?> <form action="deposit.php" method="POST"> <!-- 1. Bank Selection --> <div class="member-menu-box member-list select-group checkbox-style"> <div class="transaction-title" style="margin-bottom: unset;"> <span>Select Bank</span> <span class="important-icon">*</span> </div> <ul class="col3"> <!-- Nagad --> <li> <input type="radio" id="bank_nagad" value="nagad" name="bank" class="bank-input hidden"> <label for="bank_nagad" style="position: relative;"> <div class="bank p-2 border rounded"> <img alt="Nagad" src="/assets/img/deposit/nagad.png" style="height: 40px;"> </div> <span style="text-transform: capitalize;">Nagad Agent</span> </label> </li> <!-- bKash --> <li> <input type="radio" id="bank_bkash" value="bkash" name="bank" class="bank-input hidden"> <label for="bank_bkash" style="position: relative;"> <div class="bank p-2 border rounded"> <img alt="bKash" src="/assets/img/deposit/bkash.png" style="height: 40px;"> </div> <span style="text-transform: capitalize;">bkash Agent</span> </label> </li> </ul> </div> <!-- 2. Preset Amounts --> <div class="mb-3"> <span>Deposit amount</span> <div class="grid grid-cols-5 gap-2 mt-2"> <button type="button" onclick="setAmount(100, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-red-500 bg-red-50 active-preset">100</button> <button type="button" onclick="setAmount(200, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">200</button> <button type="button" onclick="setAmount(500, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">500</button> <button type="button" onclick="setAmount(1000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">1000</button> <button type="button" onclick="setAmount(2000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">2000</button> <button type="button" onclick="setAmount(5000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">5000</button> <button type="button" onclick="setAmount(8000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">8000</button> <button type="button" onclick="setAmount(10000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">10000</button> <button type="button" onclick="setAmount(20000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">20000</button> <button type="button" onclick="setAmount(25000, this)" class="preset-btn relative border rounded-md py-3 text-md overflow-hidden border-gray-300">25000</button> </div> </div> <!-- 3. Manual Amount Input --> <div class="usrTrans-seperate deposit-amount"> <div class="transaction-title"> <span>Amount</span> <span class="important-icon">(100৳-30000৳) *</span> </div> <div class="transaction-option m-auto relative overflow-hidden rounded"> <input id="amountInput" name="amount" class="text-input w-full border p-3 rounded" placeholder="100 - 30000" type="number" value="100" style="padding-top: 14px;"> </div> </div> <!-- 4. Promotions --> <div class="usrTrans-seperate default-type"> <div class="transaction-title"> <span>Promotions</span> </div> <div class="transaction-option m-auto"> <div onclick="selectPromo('bonus', this)" class="promotions_deposit_promo cursor-pointer" style="margin-bottom: 10px;"> <div class="before_dot" style="padding: 4px 25px;"> ALL TIME BONUS </div> </div> <div onclick="selectPromo('none', this)" class="promotions_deposit_promo cursor-pointer promo-selected" style="margin-bottom: 10px;"> <div class="before_dot after_dot" style="padding: 4px 25px;"> No promotions </div> </div> <input type="hidden" id="promoInput" name="promo" value="none"> </div> </div> <!-- 5. Submit Button --> <div class="usrTrans-seperate"> <div class="transaction-option"> <div class="transaction-btn"> <button type="submit" class="btn-submit w-full py-3 rounded text-white font-bold" style="background: rgb(240, 104, 39); border: 0;"> Submit </button> </div> </div> </div> </form> <!-- Video Embed --> <div style="width: 100%; height: 500px; position: relative;"> <iframe width="100%" height="500" src="https://www.youtube.com/embed/YzQIprsWnFw?autoplay=1&mute=0&playsinline=1" title="Deposit" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen=""></iframe> </div> </div> </div> </div> </div> </div> <section class="Toastify" aria-live="polite" aria-atomic="false" aria-relevant="additions text" aria-label="Notifications Alt+T"></section> <script> function setAmount(val, btn) { document.getElementById('amountInput').value = val; const buttons = document.querySelectorAll('.preset-btn'); buttons.forEach(b => { b.classList.remove('border-red-500', 'bg-red-50'); b.classList.add('border-gray-300'); }); btn.classList.remove('border-gray-300'); btn.classList.add('border-red-500', 'bg-red-50'); } function selectPromo(type, div) { document.getElementById('promoInput').value = type; const promos = document.querySelectorAll('.promotions_deposit_promo'); promos.forEach(p => { p.classList.remove('promo-selected'); const dot = p.querySelector('.before_dot'); if(dot) dot.classList.remove('after_dot'); }); div.classList.add('promo-selected'); const activeDot = div.querySelector('.before_dot'); if(activeDot) activeDot.classList.add('after_dot'); } </script> </body> </html> <?php $mysqli->close(); ?>
💾 Save