Login WIP
This commit is contained in:
31
Model/UserModel.php
Normal file
31
Model/UserModel.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace ppa\Model;
|
||||
use ppa\Model\ParticipantModel;
|
||||
use ppb\Library\Msg;
|
||||
use PDOException;
|
||||
|
||||
class UserModel extends Database
|
||||
{
|
||||
function verifyLogin($pdo, $username, $password)
|
||||
{
|
||||
$pdo = $this->linkDB();
|
||||
if (!$pdo) return ['success' => false, 'message' => 'Database connection error.'];
|
||||
try {
|
||||
$stmt = $pdo->prepare("SELECT id, username, password, role FROM users WHERE username = ?");
|
||||
$stmt->execute([$username]);
|
||||
$user = $stmt->fetch();
|
||||
|
||||
if ($user && password_verify($password, $user['password'])) {
|
||||
$_SESSION['user_id'] = $user['id'];
|
||||
$_SESSION['username'] = $user['username'];
|
||||
$_SESSION['role'] = $user['role']; // Store role
|
||||
return ['success' => true, 'message' => 'Login successful!', 'redirect' => 'index.php?page=dashboard'];
|
||||
}
|
||||
return ['success' => false, 'message' => 'Invalid username or password.'];
|
||||
} catch (PDOException $e) {
|
||||
error_log("Login Error: " . $e->getMessage());
|
||||
return ['success' => false, 'message' => 'An error occurred during login.'];
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user