diff --git a/app/Models/User.php b/app/Models/User.php index 4c319362abf09149a34f76a107193583df3c30c4..83007b1f1e86f635596f9b81f766fe951d074b8d 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -7,12 +7,24 @@ require_once(__DIR__ . '/../../db/connect.php'); class UserModel { public function createUser($name, $username, $email, $hashedPass, $isAdmin) { global $db; - - $stmt = $db->prepare("INSERT INTO users (user_name, username, user_email, user_hashedPass, isAdmin) VALUES (?, ?, ?, ?, ?)"); - $stmt->execute([$name, $username, $email, $hashedPass, $isAdmin]); - - return "User created successfully"; + + try { + $stmt = $db->prepare("INSERT INTO users (user_name, username, user_email, user_hashedPass, isAdmin) VALUES (?, ?, ?, ?, ?)"); + $stmt->execute([$name, $username, $email, $hashedPass, $isAdmin]); + + return "User created successfully"; + } catch (PDOException $e) { + // Check if the error code corresponds to a unique constraint violation. + if ($e->getCode() === '23000') { + // Handle the error as a duplicate entry. + return "Username or email already exists. Please choose a different one."; + } else { + // Handle other database errors. + return "Database error: " . $e->getMessage(); + } + } } + public function getUser($userId) { global $db;