« Back to History
add.php
|
20260722_120325.php
Initial Domain Snapshot
Copy Code
<?php require_once __DIR__ . '/../includes/bootstrap.php'; require_once __DIR__ . '/../includes/header.php'; require_once __DIR__ . '/../includes/sidebar.php'; $errMessage = ''; $successMessage = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $tenant_name = trim($_POST['tenant_name'] ?? ''); $contact_person = trim($_POST['contact_person'] ?? ''); $mobile = trim($_POST['mobile'] ?? ''); $email = trim($_POST['email'] ?? ''); $address = trim($_POST['address'] ?? ''); $status = trim($_POST['status'] ?? 'ACTIVE'); // Validation Check Rules if (empty($tenant_name) || empty($contact_person) || empty($mobile)) { $errMessage = "Customer Name, Contact Person, and Mobile are strictly required fields."; } else { try { $pdo->beginTransaction(); // Check Duplicate Mobile $chkMob = $pdo->prepare("SELECT tenant_id FROM tenant_master WHERE mobile = ? LIMIT 1"); $chkMob->execute([$mobile]); if ($chkMob->fetch()) { throw new Exception("Duplicate Error: A customer record with this mobile number already exists."); } // Check Duplicate Email if (!empty($email)) { $chkEmail = $pdo->prepare("SELECT tenant_id FROM tenant_master WHERE email = ? LIMIT 1"); $chkEmail->execute([$email]); if ($chkEmail->fetch()) { throw new Exception("Duplicate Error: A customer record with this email address already exists."); } } // Automatic Sequence Generation Rules for tenant_code (TEN000001 format) $seqStmt = $pdo->query("SELECT MAX(tenant_id) as last_id FROM tenant_master"); $lastRow = $seqStmt->fetch(); $nextId = ($lastRow && $lastRow['last_id']) ? ((int)$lastRow['last_id'] + 1) : 1; $tenant_code = "TEN" . str_pad($nextId, 6, "0", STR_PAD_LEFT); // Persist parameters mapping context to database layer $insStmt = $pdo->prepare("INSERT INTO tenant_master ( tenant_code, tenant_name, contact_person, mobile, email, address, status ) VALUES (?, ?, ?, ?, ?, ?, ?)"); $insStmt->execute([ $tenant_code, $tenant_name, $contact_person, $mobile, (!empty($email) ? $email : null), (!empty($address) ? $address : null), $status ]); $pdo->commit(); $successMessage = "Tenant record successfully created with System Code: " . $tenant_code; } catch (Exception $e) { $pdo->rollBack(); $errMessage = $e->getMessage(); } } } ?> <div class="container-fluid p-0" style="max-width: 1000px;"> <div class="d-flex justify-content-between align-items-center mb-4"> <h4 class="m-0 fw-bold text-dark">Add Customer Account</h4> <a href="/admin/customer/list.php" class="btn btn-sm btn-outline-secondary">Return to List</a> </div> <?php if (!empty($successMessage)): ?> <div class="alert alert-success small"><?= htmlspecialchars($successMessage) ?></div> <?php endif; ?> <?php if (!empty($errMessage)): ?> <div class="alert alert-danger small"><?= htmlspecialchars($errMessage) ?></div> <?php endif; ?> <div class="card border-0 shadow-sm bg-white p-4"> <form action="add.php" method="POST"> <div class="row g-3"> <div class="col-md-6"> <label class="form-label small fw-semibold">Customer / Organization Name *</label> <input type="text" name="tenant_name" class="form-control form-control-sm" required> </div> <div class="col-md-6"> <label class="form-label small fw-semibold">Contact Person *</label> <input type="text" name="contact_person" class="form-control form-control-sm" required> </div> <div class="col-md-6"> <label class="form-label small fw-semibold">Mobile Number *</label> <input type="text" name="mobile" class="form-control form-control-sm" required> </div> <div class="col-md-6"> <label class="form-label small fw-semibold">Email Address</label> <input type="email" name="email" class="form-control form-control-sm"> </div> <div class="col-md-12"> <label class="form-label small fw-semibold">Complete Postal Address</label> <textarea name="address" class="form-control form-control-sm" rows="3"></textarea> </div> <div class="col-md-6"> <label class="form-label small fw-semibold">Operational Node Status</label> <select name="status" class="form-select form-select-sm" required> <option value="ACTIVE">ACTIVE</option> <option value="SUSPENDED">SUSPENDED</option> </select> </div> </div> <div class="mt-4 border-top pt-3 text-end"> <button type="submit" class="btn btn-sm btn-primary px-4">Save Customer Matrix</button> </div> </form> </div> </div> <?php require_once __DIR__ . '/../includes/footer.php'; ?>