Jinsi ya Kutengeneza Admin Dashboard kwa PDO
Admin Dashboard ni interface ya kipekee kwa admins kudhibiti data na kuona takwimu za mfumo.
Misingi muhimu:
Authentication: Admin lazima aingie system.
PDO Database Access: Salama na inazuia SQL Injection.
CRUD Operations: Admin anaweza ku-view, add, update, delete data.
Dashboard Metrics: Onyesha statistics muhimu (mfano: total users, total posts, etc.).
âš™ï¸ 2. Muundo wa Project
Tengeneza folder la project (admin_dashboard/) na files:
admin_dashboard/
├── config.php
├── login.php
├── dashboard.php
├── logout.php
├── users.php
├── add_user.php
├── edit_user.php
└── delete_user.php
🧩 3. Database Setup
Mfano wa table ya admins:
CREATE DATABASE admin_system;
USE admin_system;
CREATE TABLE admins (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
💡 Maelezo:
Password zinapaswa kuhash.
Unique constraints zinazuia duplicate usernames/emails.
âš™ï¸ 4. Database Connection (config.php)
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("⌠Connection failed: " . $e->getMessage());
}
?>
🔑 5. Admin Login (login.php)
prepare("SELECT * FROM admins WHERE email = :email");
$stmt->execute(['email' => $email]);
$admin = $stmt->fetch(PDO::FETCH_ASSOC);
if ($admin && password_verify($password, $admin['password'])) {
session_regenerate_id(true);
$_SESSION['admin_id'] = $admin['id'];
$_SESSION['admin_username'] = $admin['username'];
header("Location: dashboard.php");
exit;
} else {
$error = "⌠Invalid email or password!";
}
}
?>
Admin Login
$error"; ?>
🧩 6. Dashboard (dashboard.php)
query("SELECT COUNT(*) AS total_users FROM admins");
$totalUsers = $stmt->fetch(PDO::FETCH_ASSOC)['total_users'];
?>
Welcome, = htmlspecialchars($_SESSION['admin_username']) ?>
Total Admins: = $totalUsers ?>
Manage Users|
Logout💡 Maelezo:
Admin hawezi kuingia dashboard bila login.
Inaonyesha statistics za msingi.
📠7. CRUD Operations kwa Users
a) View Users (users.php)
query("SELECT * FROM admins ORDER BY id DESC");
?>
Admin Users List
âž• Add Admin| ID | Username | Actions | |
|---|---|---|---|
| {$row['id']} | {$row['username']} | {$row['email']} | âœï¸ Edit | ðŸ—‘ï¸ Delete |
b) Add User (add_user.php)
prepare("INSERT INTO admins (username,email,password) VALUES (:username,:email,:password)");
$stmt->execute(['username'=>$username,'email'=>$email,'password'=>$password]);
echo "
✅ Admin added successfully!
";
}
?>
Add Admin
🔙 Back to Usersc) Logout (logout.php)
🧠8. Security Tips
PDO + Prepared Statements kwa queries zote.
Password hashing kwa usalama.
Session regeneration (session_regenerate_id(true)) baada ya login.
Access control: Admin pages haziruhusiwi kwa users wengine.
Tumia HTTPS ili kulinda login credentials.
✅ 9. Hitimisho
Mfumo huu ni msingi wa Admin Dashboard salama.
Admin anaweza ku-view, add, edit, delete users.
PDO na password hashing inaboresha usalama wa system.
🔗 Tembelea:
Kwa mafunzo zaidi ya PHP, PDO, na web development ya kisasa.
🚀 Unahitaji mfumo au website ya biashara?
Chagua huduma hapa chini kisha mteja bofya moja kwa moja kwenda kwenye ukurasa wa huduma au kuwasiliana nasi kwa WhatsApp.