JezK
Edit File: add_employee.php
<?php session_start(); require_once 'config/database.php'; require_once 'includes/functions.php'; // Check if user is logged in if (!isset($_SESSION['user_id'])) { header('Location: login.php'); exit(); } $message = ''; $error = ''; // Handle form submission if ($_SERVER['REQUEST_METHOD'] === 'POST') { $employee_id = trim($_POST['employee_id']); $full_name = trim($_POST['full_name']); $mobile = trim($_POST['mobile']); $district = trim($_POST['district']); $pin_code = trim($_POST['pin_code']); $bank_account_qr = trim($_POST['bank_account_qr']); $basic_salary = (float)$_POST['basic_salary']; $joining_date = $_POST['joining_date']; // Validation if (empty($employee_id) || empty($full_name) || empty($mobile) || empty($district) || empty($pin_code) || empty($basic_salary) || empty($joining_date)) { $error = 'All fields are required.'; } elseif (!preg_match('/^[0-9]{10}$/', $mobile)) { $error = 'Please enter a valid 10-digit mobile number.'; } elseif (!preg_match('/^[0-9]{6}$/', $pin_code)) { $error = 'Please enter a valid 6-digit pin code.'; } else { try { // Check if employee ID already exists $check_sql = "SELECT id FROM employees WHERE employee_id = ?"; $check_stmt = $conn->prepare($check_sql); $check_stmt->bind_param("s", $employee_id); $check_stmt->execute(); $check_result = $check_stmt->get_result(); if ($check_result->num_rows > 0) { $error = 'Employee ID already exists.'; } else { // Insert employee $sql = "INSERT INTO employees (employee_id, full_name, mobile, district, pin_code, bank_account_qr, basic_salary, joining_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; $stmt = $conn->prepare($sql); $stmt->bind_param("ssssssds", $employee_id, $full_name, $mobile, $district, $pin_code, $bank_account_qr, $basic_salary, $joining_date); if ($stmt->execute()) { $message = 'Employee added successfully!'; // Clear form data $employee_id = $full_name = $mobile = $district = $pin_code = $bank_account_qr = $basic_salary = $joining_date = ''; } else { $error = 'Error adding employee.'; } } } catch (Exception $e) { $error = 'Error: ' . $e->getMessage(); } } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Add Employee - PAYMIND</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet"> <link href="assets/css/style.css" rel="stylesheet"> </head> <body> <!-- Navigation --> <nav class="navbar navbar-expand-lg navbar-dark bg-primary"> <div class="container-fluid"> <a class="navbar-brand" href="index.php"> <i class="fas fa-credit-card me-2"></i>PAYMIND </a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav me-auto"> <li class="nav-item"> <a class="nav-link" href="index.php"> <i class="fas fa-tachometer-alt me-1"></i>Dashboard </a> </li> <li class="nav-item"> <a class="nav-link" href="transactions.php"> <i class="fas fa-list me-1"></i>Transactions </a> </li> <li class="nav-item"> <a class="nav-link" href="add_transaction.php"> <i class="fas fa-plus me-1"></i>Add Transaction </a> </li> <li class="nav-item"> <a class="nav-link" href="sellers.php"> <i class="fas fa-users me-1"></i>Sellers </a> </li> <li class="nav-item"> <a class="nav-link active" href="employees.php"> <i class="fas fa-user-tie me-1"></i>Employees </a> </li> <li class="nav-item"> <a class="nav-link" href="attendance.php"> <i class="fas fa-calendar-check me-1"></i>Attendance & Salary </a> </li> <li class="nav-item"> <a class="nav-link" href="expense_tracker.php"> <i class="fas fa-receipt me-1"></i>Expense Tracker </a> </li> <li class="nav-item"> <a class="nav-link" href="reports.php"> <i class="fas fa-chart-bar me-1"></i>Reports </a> </li> <li class="nav-item"> <a class="nav-link" href="reminders.php"> <i class="fas fa-bell me-1"></i>Reminders </a> </li> <li class="nav-item"> <a class="nav-link" href="settings.php"> <i class="fas fa-cog me-1"></i>Settings </a> </li> </ul> <ul class="navbar-nav"> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown"> <i class="fas fa-user me-1"></i><?php echo isset($_SESSION['username']) ? $_SESSION['username'] : 'User'; ?> </a> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="profile.php">Profile</a></li> <li><a class="dropdown-item" href="settings.php">Settings</a></li> <li><hr class="dropdown-divider"></li> <li><a class="dropdown-item" href="logout.php">Logout</a></li> </ul> </li> </ul> </div> </div> </nav> <div class="container-fluid mt-4"> <div class="row"> <div class="col-12"> <div class="d-flex justify-content-between align-items-center mb-4"> <h1 class="h3 mb-0">Add Employee</h1> <a href="employees.php" class="btn btn-secondary"> <i class="fas fa-arrow-left me-1"></i>Back to Employees </a> </div> <?php if ($message): ?> <div class="alert alert-success alert-dismissible fade show" role="alert"> <i class="fas fa-check-circle me-2"></i><?php echo $message; ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <?php if ($error): ?> <div class="alert alert-danger alert-dismissible fade show" role="alert"> <i class="fas fa-exclamation-triangle me-2"></i><?php echo $error; ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <!-- Add Employee Form --> <div class="card shadow"> <div class="card-header bg-primary text-white"> <h5 class="mb-0">Employee Information</h5> </div> <div class="card-body"> <form method="POST" action=""> <div class="row g-3"> <div class="col-md-6"> <label for="employee_id" class="form-label">Employee ID *</label> <input type="text" class="form-control" id="employee_id" name="employee_id" value="<?php echo htmlspecialchars($employee_id ?? ''); ?>" required placeholder="e.g., EMP001"> </div> <div class="col-md-6"> <label for="full_name" class="form-label">Full Name *</label> <input type="text" class="form-control" id="full_name" name="full_name" value="<?php echo htmlspecialchars($full_name ?? ''); ?>" required placeholder="Enter full name"> </div> <div class="col-md-6"> <label for="mobile" class="form-label">Mobile Number *</label> <input type="tel" class="form-control" id="mobile" name="mobile" value="<?php echo htmlspecialchars($mobile ?? ''); ?>" required pattern="[0-9]{10}" maxlength="10" placeholder="10-digit mobile number"> </div> <div class="col-md-6"> <label for="district" class="form-label">District *</label> <input type="text" class="form-control" id="district" name="district" value="<?php echo htmlspecialchars($district ?? ''); ?>" required placeholder="Enter district"> </div> <div class="col-md-6"> <label for="pin_code" class="form-label">Pin Code *</label> <input type="text" class="form-control" id="pin_code" name="pin_code" value="<?php echo htmlspecialchars($pin_code ?? ''); ?>" required pattern="[0-9]{6}" maxlength="6" placeholder="6-digit pin code"> </div> <div class="col-md-6"> <label for="basic_salary" class="form-label">Basic Salary (₹) *</label> <input type="number" step="0.01" class="form-control" id="basic_salary" name="basic_salary" value="<?php echo htmlspecialchars($basic_salary ?? ''); ?>" required placeholder="Enter basic salary" min="0"> <div class="form-text">Monthly basic salary amount</div> </div> <div class="col-md-6"> <label for="joining_date" class="form-label">Joining Date *</label> <input type="date" class="form-control" id="joining_date" name="joining_date" value="<?php echo htmlspecialchars($joining_date ?? ''); ?>" required> </div> <div class="col-md-12"> <label for="bank_account_qr" class="form-label">Bank Account QR Code</label> <textarea class="form-control" id="bank_account_qr" name="bank_account_qr" rows="3" placeholder="Enter bank account QR code details or UPI ID"><?php echo htmlspecialchars($bank_account_qr ?? ''); ?></textarea> <div class="form-text">Enter UPI ID or bank account details for salary disbursement</div> </div> </div> <div class="row mt-4"> <div class="col-12"> <button type="submit" class="btn btn-primary"> <i class="fas fa-save me-1"></i>Add Employee </button> <a href="employees.php" class="btn btn-secondary ms-2"> <i class="fas fa-times me-1"></i>Cancel </a> </div> </div> </form> </div> </div> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> </body> </html>