FAUSTINE MWOYA November 20, 2025

Jinsi ya Kuunda User Management Dashboard Yenye Login Authentication na CRUD Operations

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
Share this post
Previous Next

Comments

0
No comments yet. Be the first to comment.

Continue Reading

Subscribe

Get new updates

Jiunge upokee posts mpya, tutorials, na updates za mifumo moja kwa moja kwenye email yako.

Chat na Faulink