Skip to content

Admin User Management Documentation

Overview

The Admin User Management system provides a comprehensive interface for administrators to manage user accounts. It includes features for creating, reading, updating, and deleting users (CRUD operations), with role-based access control.

Access Control

php
if (!isset($_SESSION['username'])) {
    echo "<script>alert('You are not logged in!');</script>";
    header("Location: /login.php");
    exit;
}

if ($_SESSION['role'] !== 'admin') {
    echo "<script>alert('You do not have permission to access this page.');</script>";
    header("Location: /admin/index.php");
    exit;
}
  • Requires user authentication
  • Restricts access to admin users only
  • Provides clear error messages
  • Secure redirection

Features

1. User Creation

php
if (isset($_POST['addUser'])) {
    $username = $_POST['username'];
    $email = $_POST['email'];
    $password = password_hash($_POST['password'], PASSWORD_DEFAULT);
    $mobile = $_POST['mobile'];
    $role = $_POST['role'];

    $stmt = $conn->prepare("INSERT INTO users (username, email, password, mobile, role) VALUES (?, ?, ?, ?, ?)");
    $stmt->bind_param("sssss", $username, $email, $password, $mobile, $role);
  • Secure password hashing
  • Input validation
  • Prepared statements
  • Role assignment
  • Mobile number support

2. User Updates

php
if (isset($_POST['update'])) {
    $editUsername = $_POST['editUsername'];
    $editEmail = $_POST['editEmail'];
    $editMobile = $_POST['editMobile'];
    $editRole = $_POST['editRole'];
    $editUserId = $_POST['editUserId'];

    $stmt = $conn->prepare("UPDATE users SET username = ?, email = ?, mobile = ?, role = ? WHERE id = ?");
  • Field-by-field updates
  • Secure ID-based updates
  • Role modification
  • Contact information management

3. User Deletion

php
if (isset($_POST['deleteUser'])) {
    $deleteUserId = $_POST['deleteUserId'];
    $stmt = $conn->prepare("DELETE FROM users WHERE id = ?");
    $stmt->bind_param("i", $deleteUserId);
  • Secure deletion process
  • ID-based removal
  • Success confirmation
  • Error handling

User Interface Components

1. User Listing

html
<table class="table table-hover table-striped">
    <thead class="thead-dark">
        <tr>
            <th>ID</th>
            <th>Username</th>
            <th>Email</th>
            <th>Mobile</th>
            <th>Role</th>
            <th>Actions</th>
        </tr>
    </thead>
  • Sortable columns
  • Striped rows for readability
  • Action buttons for each user
  • Mobile-responsive design

2. Modal Forms

  • Add User Modal
  • Edit User Modal
  • Delete Confirmation Modal

3. Styling Features

css
.table-container {
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.btn-primary {
    background-color: #007bff;
    border: none;
    border-radius: 50px;
}
  • Modern design elements
  • Consistent color scheme
  • Responsive layout
  • Interactive elements

Security Features

  1. SQL Injection Prevention

    • Prepared statements
    • Parameter binding
    • Input sanitization
  2. XSS Prevention

    php
    echo htmlspecialchars($user['username']);
    • Output escaping
    • HTML encoding
    • Safe data display
  3. Access Control

    • Role-based permissions
    • Session validation
    • Secure redirects

Error Handling

php
if ($stmt->execute()) {
    $alertMessage = 'User updated successfully!';
    $alertType = 'success';
} else {
    $alertMessage = 'Error: ' . $stmt->error;
    $alertType = 'danger';
}
  • Clear error messages
  • Success notifications
  • User-friendly alerts
  • Database error handling

Dependencies

  • Bootstrap 4.5.2
  • Font Awesome 4.7.0
  • jQuery
  • Custom CSS styles

Best Practices

1. Database Operations

  • Use of prepared statements
  • Transaction handling
  • Secure password storage
  • Data validation

2. User Interface

  • Responsive design
  • Clear feedback
  • Intuitive layout
  • Consistent styling

3. Security

  • Role verification
  • Session management
  • Input sanitization
  • Secure redirects
  • Authentication system
  • User profile system
  • Admin dashboard
  • Session management

Future Enhancements

  1. Bulk user operations
  2. Advanced search functionality
  3. User activity logs
  4. Password reset functionality
  5. Export user data
  6. Role management interface