[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
campus_repo
/
src
/
[
Home
]
File: user.php
<?php require_once __DIR__ . '/Database.php'; class User { // Buat akun baru public static function create($name, $email, $password, $role = 'user') { $pdo = Database::getConnection(); $hash = password_hash($password, PASSWORD_DEFAULT); $stmt = $pdo->prepare("INSERT INTO users (name, email, password_hash, role) VALUES (?, ?, ?, ?)"); $ok = $stmt->execute([$name, $email, $hash, $role]); return $ok ? $pdo->lastInsertId() : false; } // Cari user berdasarkan email public static function findByEmail($email) { $pdo = Database::getConnection(); $stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?"); $stmt->execute([$email]); return $stmt->fetch(); } // Verifikasi login public static function verify($email, $password) { $user = self::findByEmail($email); if ($user && password_verify($password, $user['password_hash'])) { return $user; } return false; } // Update role user public static function updateRole($id, $role) { $pdo = Database::getConnection(); $stmt = $pdo->prepare("UPDATE users SET role=? WHERE id=?"); return $stmt->execute([$role, $id]); } // Ambil semua user (untuk admin) public static function all() { $pdo = Database::getConnection(); return $pdo->query("SELECT * FROM users ORDER BY created_at DESC")->fetchAll(); } }