prepare($check_sql); $stmt->bind_param("s", $username); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { $error = "Username already exists. Please choose a different username."; } else { // Hash password $hashed_password = password_hash($password, PASSWORD_DEFAULT); // Insert user $sql = "INSERT INTO users (full_name, username, email, phone, password, role, status, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, NOW())"; $stmt = $conn->prepare($sql); $stmt->bind_param("sssssss", $full_name, $username, $email, $phone, $hashed_password, $role, $status); if ($stmt->execute()) { $new_user_id = $conn->insert_id; logActivity($_SESSION['user_id'], 'CREATE', 'users', "Created user: $username (ID: $new_user_id)"); $success = "User '$username' created successfully!"; // Clear form $full_name = $username = $email = $phone = $password = $confirm_password = ''; $role = ''; $status = 'active'; } else { $error = "Failed to create user: " . $stmt->error; } } } catch (Exception $e) { $error = "Database error: " . $e->getMessage(); } } } $page_title = 'Add User'; require_once __DIR__ . '/../includes/header.php'; ?>

➕ Add New User

📋 View All Users ➕ Add Another User

User Information

Minimum 3 characters, no spaces
Minimum 6 characters
❌ Cancel

👥 User Roles Explained

🔴 Admin

Full system control

  • Manage users
  • System settings
  • All supply/sales/expense operations
  • View all reports
  • Manage fish types & categories

🟡 Manager

Operations management

  • Add/view supplies
  • Add/view sales
  • Add/view expenses
  • View all reports
  • Manage pending payments

🔵 Supplier

Limited supply access

  • Add supply entries
  • View own supplies only
  • No access to sales
  • No access to expenses
  • No access to reports

🔒 Security Tips