From 54f778a557826582e8dafedce6c01e4b849fa85f Mon Sep 17 00:00:00 2001
From: Bitha17 <16521076@mahasiswa.itb.ac.id>
Date: Tue, 3 Oct 2023 15:50:15 +0700
Subject: [PATCH] edit create user

---
 app/Models/User.php | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/app/Models/User.php b/app/Models/User.php
index 4c31936..83007b1 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;
-- 
GitLab