:: **Zploit** v1.0 | Current Path: **/home/kreativepixelz/www/kreative_crm/quatation/**
:: Editing File: payment_details_add.php
<?php ob_start(); include 'header.php'; $page_title = "Add Clients Payment Details"; $page_parent = "Clients Payments"; $page_parent_link = "payment_details_list.php"; include 'breadcrumb.php'; include 'menu.php'; $message = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { // Sanitize form inputs $clients_id = mysqli_real_escape_string($conn, $_POST['clients_id']); $payment = mysqli_real_escape_string($conn, $_POST['payment']); $payment_received = mysqli_real_escape_string($conn, $_POST['payment_received']); $payment_received_date = mysqli_real_escape_string($conn, $_POST['payment_received_date']); $payment_remaining = mysqli_real_escape_string($conn, $_POST['payment_remaining']); $payment_remaining_date = isset($_POST['payment_remaining_date']) ? mysqli_real_escape_string($conn, $_POST['payment_remaining_date']) : NULL; $notes = mysqli_real_escape_string($conn, $_POST['notes']); $comments = mysqli_real_escape_string($conn, $_POST['comments']); $amount_details = mysqli_real_escape_string($conn, $_POST['amount_details']); $invoice_number = mysqli_real_escape_string($conn, $_POST['invoice_number']); // Multiple service selections $service_taken = isset($_POST['service_taken']) ? implode(', ', $_POST['service_taken']) : NULL; // Handle invoice image upload $invoice_img = NULL; if (!empty($_FILES['invoice_img']['name'])) { $target_dir = "uploads/invoices/"; if (!is_dir($target_dir)) { mkdir($target_dir, 0777, true); } $file_name = time() . "_" . basename($_FILES["invoice_img"]["name"]); $target_file = $target_dir . $file_name; if (move_uploaded_file($_FILES["invoice_img"]["tmp_name"], $target_file)) { $invoice_img = $target_file; } } // Insert SQL query $sql = "INSERT INTO payment_details (clients_id, service_taken, payment, payment_received, payment_received_date, payment_remaining, payment_remaining_date, amount_details, invoice_number, invoice_img, notes, comments) VALUES ('$clients_id', " . ($service_taken ? "'$service_taken'" : "NULL") . ", '$payment', '$payment_received', '$payment_received_date', '$payment_remaining', " . ($payment_remaining_date ? "'$payment_remaining_date'" : "NULL") . ", " . ($amount_details ? "'$amount_details'" : "NULL") . ", " . ($invoice_number ? "'$invoice_number'" : "NULL") . ", " . ($invoice_img ? "'$invoice_img'" : "NULL") . ", '$notes', '$comments')"; if (mysqli_query($conn, $sql)) { header("Location: payment_details_list.php?msg=Payment details added successfully"); exit; } else { $message = "Error: " . mysqli_error($conn); } } ?> <div class="page-body"> <div class="container-fluid"> <div class="card"> <div class="card-header"><h4>Add Payment Details</h4></div> <div class="card-body"> <?php if ($message): ?><div class="alert alert-danger"><?= $message ?></div><?php endif; ?> <form method="POST" enctype="multipart/form-data"> <div class="row g-3"> <!-- Client --> <div class="col-md-6"> <label>Client</label> <select name="clients_id" class="form-select" required> <option value="">Select Client</option> <?php $clients = mysqli_query($conn, "SELECT id, name FROM clients ORDER BY name ASC"); while ($row = mysqli_fetch_assoc($clients)) { echo "<option value='{$row['id']}'>{$row['name']}</option>"; } ?> </select> </div> <!-- Services Taken --> <div class="col-md-6"> <label class="form-label">Service Taken</label> <select name="service_taken[]" class="form-select" multiple required> <option value="Website Development">Website Development</option> <option value="Digital Marketing">Digital Marketing</option> <option value="CRM Development">CRM Development</option> <option value="Graphic Designing">Graphic Designing</option> <option value="Video Production">Video Production</option> <option value="Web Hosting">Web Hosting</option> <option value="Web Domain">Web Domain</option> <option value="Bulk Whatsapp">Bulk Whatsapp</option> <option value="Others">Others</option> </select> </div> <div class="col-md-4"> <label>Total Payment (₹)</label> <input type="number" step="0.01" name="payment" id="payment" class="form-control"> </div> <div class="col-md-4"> <label>Payment Received (₹)</label> <input type="number" step="0.01" name="payment_received" id="payment_received" class="form-control"> </div> <div class="col-md-4"> <label>Payment Remaining (₹)</label> <input type="number" step="0.01" name="payment_remaining" id="payment_remaining" class="form-control" > </div> <div class="col-md-4"> <label>Invoice Number</label> <input type="text" name="invoice_number" class="form-control"> </div> <div class="col-md-4"> <label class="form-label">Upload Invoice Image</label> <input type="file" name="invoice_img" class="form-control" accept="image/*"> </div> <div class="col-md-4"> <label>Payment Date</label> <input type="date" name="payment_received_date" class="form-control"> </div> <div class="col-md-4"> <label class="form-label">Amount Details</label> <textarea name="amount_details" class="form-control" rows="3"></textarea> </div> <div class="col-md-4"> <label>Notes</label> <textarea name="notes" class="form-control" rows="3"></textarea> </div> <div class="col-md-4"> <label>Comments</label> <textarea name="comments" class="form-control" rows="3"></textarea> </div> </div> <div class="mt-3"> <button type="submit" class="btn btn-success">Save</button> <a href="payment_details_list.php" class="btn btn-secondary">Cancel</a> </div> </form> </div> </div> </div> </div> <?php include 'footer.php'; ob_end_flush(); ?> <script> $(document).ready(function() { function calculateRemaining() { let total = parseFloat($('#payment').val()) || 0; let received = parseFloat($('#payment_received').val()) || 0; let remaining = total - received; if (remaining < 0) remaining = 0; // avoid negative values $('#payment_remaining').val(remaining.toFixed(2)); } $('#payment, #payment_received').on('input', calculateRemaining); }); </script>