Jifunze jinsi ya kuunda User Management Dashboard kwa PHP ambayo inahitaji login authentication. Mtumiaji wa admin anaweza kuona, kuongeza, kubadilisha, na kufuta watumiaji. Tutorial hii inatoa working example fupi ya mfumo wa usimamizi wa watumiaji.

Example Code:
1. Login Page (login.php)
<?php
session_start();
$admin_user = "admin";
$admin_pass = "password123";
$error = "";

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$user = $_POST['username'] ?? '';
$pass = $_POST['password'] ?? '';

if ($user === $admin_user && $pass === $admin_pass) {
$_SESSION['admin_logged'] = true;
header("Location: dashboard.php");
exit;
} else {
$error = "<div style='color:red;'>Username au password sio sahihi!</div>";
}
}
?>
<h2>Login</h2>
<?= $error ?>
<form method="POST">
<input type="text" name="username" placeholder="Username" required>
<input type="password" name="password" placeholder="Password" required>
<button type="submit">Login</button>
</form>

2. Dashboard with CRUD (dashboard.php)
<?php
session_start();
if (!isset($_SESSION['admin_logged']) || $_SESSION['admin_logged'] !== true) {
header("Location: login.php");
exit;
}

// Database connection
$pdo = new PDO("mysql:host=localhost;dbname=test_db;charset=utf8", "root", "");

// Add user
if (isset($_POST['add_user'])) {
$username = $_POST['username'];
$email = $_POST['email'];
$stmt = $pdo->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$stmt->execute([$username, $email]);
}

// Update user
if (isset($_POST['update_user'])) {
$id = $_POST['id'];
$username = $_POST['username'];
$email = $_POST['email'];
$stmt = $pdo->prepare("UPDATE users SET username = ?, email = ? WHERE id = ?");
$stmt->execute([$username, $email, $id]);
}

// Delete user
if (isset($_GET['delete'])) {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM users WHERE id = ?");
$stmt->execute([$id]);
}

// Fetch users
$users = $pdo->query("SELECT * FROM users")->fetchAll(PDO::FETCH_ASSOC);
?>

<h1>User Management Dashboard</h1>
<a href="logout.php">Logout</a>

<h2>Add New User</h2>
<form method="POST">
<input type="text" name="username" placeholder="Username" required>
<input type="email" name="email" placeholder="Email" required>
<button type="submit" name="add_user">Add User</button>
</form>

<h2>All Users</h2>
<table border="1" cellpadding="5">
<tr>
<th>ID</th>
<th>Username</th>
<th>Email</th>
<th>Actions</th>
</tr>
<?php foreach ($users as $user): ?>
<tr>
<form method="POST">
<td><?= $user['id'] ?></td>
<td><input type="text" name="username" value="<?= htmlspecialchars($user['username']) ?>"></td>
<td><input type="email" name="email" value="<?= htmlspecialchars($user['email']) ?>"></td>
<td>
<input type="hidden" name="id" value="<?= $user['id'] ?>">
<button type="submit" name="update_user">Update</button>
<a href="?delete=<?= $user['id'] ?>" onclick="return confirm('Delete?')">Delete</a>
</td>
</form>
</tr>
<?php endforeach; ?>
</table>

3. Logout (logout.php)
<?php
session_start();
session_destroy();
header("Location: login.php");
exit;
?>

Links Za Kujifunza Zaidi

🌐 Faulink Official Website:
https://www.faulink.com/

📘 Jifunze Web Design & Programming:
https://www.faulink.com/excel_mifumo.php

📲 Piga / WhatsApp kwa msaada wa haraka:
https://wa.me/255693118509