diff --git a/simpleEmail_Projekt/domain/checkUsername.php b/simpleEmail_Projekt/domain/checkUsername.php new file mode 100644 index 0000000..9840e1b --- /dev/null +++ b/simpleEmail_Projekt/domain/checkUsername.php @@ -0,0 +1,15 @@ +findUserByEmail($email); + + echo json_encode(['exists' => $exists]); +} +?> diff --git a/simpleEmail_Projekt/domain/database.php b/simpleEmail_Projekt/domain/database.php deleted file mode 100644 index 746d139..0000000 --- a/simpleEmail_Projekt/domain/database.php +++ /dev/null @@ -1,8 +0,0 @@ -setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -} catch (PDOException $e) { - echo "Verbindung fehlgeschlagen: " . $e->getMessage(); -} -?> \ No newline at end of file diff --git a/simpleEmail_Projekt/domain/userManager.php b/simpleEmail_Projekt/domain/userManager.php index a468d32..9c0be21 100644 --- a/simpleEmail_Projekt/domain/userManager.php +++ b/simpleEmail_Projekt/domain/userManager.php @@ -1,15 +1,36 @@ dbh = new PDO('mysql:host=localhost;dbname=simpleymail', 'root', ''); + $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } + catch (PDOException $e) {die("Verbindung fehlgeschlagen: " . $e->getMessage());} + } public function userRegister($firstname, $lastname, $birthdate, Gender $gender, $username, $password) { $domain = "@smail.de"; $email = $username . $domain; + $newUser = new User($firstname, $lastname, $birthdate, $gender, $email, $password); + + // $stmt = $this->dbh->prepare("INSERT INTO user ") + return $newUser; } + + + public function findUserByEmail($email){ + $stmt = $this->dbh->prepare("SELECT email FROM useremail WHERE email = ?"); + $stmt->bindValue(1, $email); + $stmt->execute(); + + return $stmt->fetch() !== false; + } } ?> diff --git a/simpleEmail_Projekt/gui/html/Register.html b/simpleEmail_Projekt/gui/html/Register.html index fbd6881..0bb1aa8 100644 --- a/simpleEmail_Projekt/gui/html/Register.html +++ b/simpleEmail_Projekt/gui/html/Register.html @@ -12,7 +12,7 @@
-
+

Register

- +
@smail.de @@ -64,7 +64,7 @@ - +
diff --git a/simpleEmail_Projekt/gui/js/handleRegister.js b/simpleEmail_Projekt/gui/js/handleRegister.js index 95d71f2..1e91202 100644 --- a/simpleEmail_Projekt/gui/js/handleRegister.js +++ b/simpleEmail_Projekt/gui/js/handleRegister.js @@ -2,44 +2,50 @@ var passwordInput = document.querySelector("#password"); var retypePasswordInput = document.querySelector("#retype_password"); var passwordMessage = document.querySelector("#passwordMessage"); var retypePasswordMessage = document.querySelector("#retypePasswordMessage"); - var username = document.querySelector("#username"); var userNameMessage = document.querySelector("#userNameMessage"); -username.addEventListener("input",checkUsername); +var btnSubmit = document.querySelector("input[type='submit']"); +var form = document.querySelector("#registerForm"); -passwordInput.addEventListener("input", checkPassword); -retypePasswordInput.addEventListener("input", checkRetypePassword); +btnSubmit.addEventListener("click", checkRegister); -function checkPassword() { - if (passwordInput.value.length < 6 || passwordInput.value.length == 0) { +function checkRegister(event) { + event.preventDefault(); // Verhindere, dass Formular automatisch abgeschickt wird + let hasError = false; + + if (passwordInput.value.length < 6 || passwordInput.value.length === 0) { passwordMessage.innerHTML = "Passwort ist zu kurz"; passwordMessage.style.color = "red"; - passwordMessage.style.margin = 0; + hasError = true; } else { - passwordMessage.innerHTML = "Passwort sieht gut aus!"; - passwordMessage.style.color = "green"; + passwordMessage.innerHTML = ""; } - checkRetypePassword(); -} -function checkRetypePassword() { if (retypePasswordInput.value !== passwordInput.value) { retypePasswordMessage.innerHTML = "Passwörter stimmen nicht überein!"; retypePasswordMessage.style.color = "red"; + hasError = true; } else { - retypePasswordMessage.innerHTML = "Passwörter sind identisch"; - retypePasswordMessage.style.color = "green"; + retypePasswordMessage.innerHTML = ""; + } + + + if (username.value.includes("@")) { + userNameMessage.innerHTML = "Benutzername darf kein @ enthalten!"; + userNameMessage.style.color = "red"; + hasError = true; + } else if (username.value.length === 0) { + userNameMessage.innerHTML = "Benutzername bitte eingeben!"; + userNameMessage.style.color = "red"; + hasError = true; + } else { + userNameMessage.innerHTML = ""; // Fehler entfernen + } + + if (!hasError) { + form.submit(); + } else { + return; } } - - -function checkUsername(){ - if (username.value.includes("@")){ - userNameMessage.innerHTML = "Benutzername darf nur Buchstaben und Zahlen enthalten!"; - userNameMessage.style.color="red"; - userNameMessage.style.margin=0; - }else - userNameMessage.innerHTML = ""; - -} \ No newline at end of file diff --git a/simpleEmail_Projekt/main/test.php b/simpleEmail_Projekt/main/test.php index 8fec148..08f70b9 100644 --- a/simpleEmail_Projekt/main/test.php +++ b/simpleEmail_Projekt/main/test.php @@ -8,7 +8,7 @@ $user = $testManager->userRegister( 'Obaya', '2000-01-01', Gender::Male, - 'ali.obaya', + 'obai.albek', 'meinPasswort123' );