From 460c69b08788927a8a3a09da8d832c2b506c4dbf Mon Sep 17 00:00:00 2001 From: Obai Albek Date: Wed, 11 Jun 2025 01:12:21 +0200 Subject: [PATCH] Update --- .../gui/css => css}/registerStyle.css | 0 html/dashboard.php | 11 ++ html/register.php | 141 ++++++++++++++++++ js/handleRegister.js | 38 +++++ simpleEmail_Projekt/domain/checkUsername.php | 15 -- simpleEmail_Projekt/domain/genderEnum.php | 7 - simpleEmail_Projekt/domain/user.php | 63 -------- simpleEmail_Projekt/domain/userEmail.php | 25 ---- simpleEmail_Projekt/domain/userManager.php | 36 ----- simpleEmail_Projekt/gui/html/Register.html | 73 --------- simpleEmail_Projekt/gui/js/handleRegister.js | 51 ------- simpleEmail_Projekt/main/test.php | 16 -- 12 files changed, 190 insertions(+), 286 deletions(-) rename {simpleEmail_Projekt/gui/css => css}/registerStyle.css (100%) create mode 100644 html/dashboard.php create mode 100644 html/register.php create mode 100644 js/handleRegister.js delete mode 100644 simpleEmail_Projekt/domain/checkUsername.php delete mode 100644 simpleEmail_Projekt/domain/genderEnum.php delete mode 100644 simpleEmail_Projekt/domain/user.php delete mode 100644 simpleEmail_Projekt/domain/userEmail.php delete mode 100644 simpleEmail_Projekt/domain/userManager.php delete mode 100644 simpleEmail_Projekt/gui/html/Register.html delete mode 100644 simpleEmail_Projekt/gui/js/handleRegister.js delete mode 100644 simpleEmail_Projekt/main/test.php diff --git a/simpleEmail_Projekt/gui/css/registerStyle.css b/css/registerStyle.css similarity index 100% rename from simpleEmail_Projekt/gui/css/registerStyle.css rename to css/registerStyle.css diff --git a/html/dashboard.php b/html/dashboard.php new file mode 100644 index 0000000..cfddb44 --- /dev/null +++ b/html/dashboard.php @@ -0,0 +1,11 @@ +"; +echo "Deine E-Mail: " . $_SESSION["email"]; +?> \ No newline at end of file diff --git a/html/register.php b/html/register.php new file mode 100644 index 0000000..bc7b56b --- /dev/null +++ b/html/register.php @@ -0,0 +1,141 @@ + + + + + + + + Register + + + + +
+
+

Register

+ + + + + + +
+ + + +
+ + + + +
+ + @smail.de +
+ + + + + + + + + +
+
+ + + + + + +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + if (isset($_POST["register"])) { + $firstName = $_POST["firstName"]; + $lastname = $_POST["lastName"]; + $gender = $_POST["gender"]; + $birthdate = $_POST["birthdate"]; + $username = $_POST["username"]; + $password = $_POST["password"]; + + $domain = "@smail.de"; + $email = $username . $domain; + + // 1. E-Mail prüfen + $stmt = $dbh->prepare("SELECT email FROM useremail WHERE email=?"); + $stmt->bindValue(1, $email); + $stmt->execute(); + + if ($stmt->rowCount() === 0) { + // 2. E-Mail & Passwort speichern + $stmt = $dbh->prepare("INSERT INTO useremail (email, password) VALUES (?, ?)"); + $stmt->bindValue(1, $email); + $stmt->bindValue(2, $password); + $stmt->execute(); + + // 3. ID holen + $useremail_id = $dbh->lastInsertId(); + + // 4. user speichern + $stmt = $dbh->prepare("INSERT INTO user (firstName, lastname, birthdate, gender, useremail_id) VALUES (?, ?, ?, ?, ?)"); + $stmt->bindValue(1, $firstName); + $stmt->bindValue(2, $lastname); + $stmt->bindValue(3, $birthdate); + $stmt->bindValue(4, $gender); + $stmt->bindValue(5, $useremail_id); + $stmt->execute(); + + // 5. user abrufen + $stmt = $dbh->prepare("SELECT * FROM user WHERE useremail_id = ?"); + $stmt->bindValue(1, $useremail_id); + $stmt->execute(); + $user = $stmt->fetch(PDO::FETCH_ASSOC); + + if ($user) { + // 6. Session setzen + $_SESSION["firstname"] = $user["firstname"]; + $_SESSION["lastname"] = $user["lastname"]; + $_SESSION["email"] = $email; + + // 7. Ausgabe + header("Location: dashboard.php"); + } else { + echo "❌ Fehler beim Laden des Benutzers."; + } + + } else { + echo "❌ Die E-Mail ist bereits registriert."; + } + } +} catch (PDOException $e) { + echo "Fehler: " . $e->getMessage(); +} +?> diff --git a/js/handleRegister.js b/js/handleRegister.js new file mode 100644 index 0000000..02d08cd --- /dev/null +++ b/js/handleRegister.js @@ -0,0 +1,38 @@ +var txtUsername = document.querySelector("#username"); +var txtPassword = document.querySelector("#password"); +var txtRetypePassword = document.querySelector("#retype_password"); + +var errorMessageUsername = document.querySelector("#userNameMessage"); +var errorPasswordMessage = document.querySelector("#passwordMessage"); +var errorRetypePasswordMessage = document.querySelector("#retypePasswordMessage"); + +txtPassword.addEventListener("input",checkPass); +txtRetypePassword.addEventListener("input" , checkRetypedPassword) +txtUsername.addEventListener("input" ,checkUsername); + +function checkUsername(){ + if (txtUsername.value.includes("@")){ + errorMessageUsername.textContent = "Benutzername darf kein @ enthalten!"; + errorMessageUsername.style.color = "red"; + }else + errorMessageUsername.textContent = ""; +} + +function checkPass(){ + if (txtPassword.value.length < 6){ + errorPasswordMessage.textContent = "Passwort ist zu kurz"; + errorPasswordMessage.style.color = "red"; + }else{ + errorPasswordMessage.textContent = ""; + } + +} + +function checkRetypedPassword(){ + if (txtRetypePassword.value !== txtPassword.value){ + errorRetypePasswordMessage.textContent = "Passwörter stimmen nicht überein!"; + errorRetypePasswordMessage.style.color = "red"; + }else{ + errorRetypePasswordMessage.textContent = ""; + } +} \ No newline at end of file diff --git a/simpleEmail_Projekt/domain/checkUsername.php b/simpleEmail_Projekt/domain/checkUsername.php deleted file mode 100644 index 9840e1b..0000000 --- a/simpleEmail_Projekt/domain/checkUsername.php +++ /dev/null @@ -1,15 +0,0 @@ -findUserByEmail($email); - - echo json_encode(['exists' => $exists]); -} -?> diff --git a/simpleEmail_Projekt/domain/genderEnum.php b/simpleEmail_Projekt/domain/genderEnum.php deleted file mode 100644 index fdd2d15..0000000 --- a/simpleEmail_Projekt/domain/genderEnum.php +++ /dev/null @@ -1,7 +0,0 @@ - \ No newline at end of file diff --git a/simpleEmail_Projekt/domain/user.php b/simpleEmail_Projekt/domain/user.php deleted file mode 100644 index cd8a71f..0000000 --- a/simpleEmail_Projekt/domain/user.php +++ /dev/null @@ -1,63 +0,0 @@ -firstname = $firstname; - $this->lastname = $lastname; - $this->birthdate = $birthdate; - $this->gender = $gender; - $this->password = $password; - $this->userEmail = new userEmail($username, $password); - } - - - public function getFirstname() { - return $this->firstname; - } - - public function setFirstname($firstname) { - $this->firstname = $firstname; - } - - public function getLastname() { - return $this->lastname; - } - - public function setLastname($lastname) { - $this->lastname = $lastname; - } - - public function getBirthdate() { - return $this->birthdate; - } - - public function setBirthdate($birthdate) { - $this->birthdate = $birthdate; - } - - public function getGender() { - return $this->gender; - } - - public function setGender(Gender $gender) { - $this->gender = $gender; - } - // __toString Methode - public function __toString() { - return "Vorname: {$this->firstname}\n" . - "Nachname: {$this->lastname}\n" . - "Geburtsdatum: {$this->birthdate}\n" . - "Geschlecht: {$this->gender->value}\n" . - "Benutzername: {$this->userEmail->getUsername()}\n"; - } -} - -?> \ No newline at end of file diff --git a/simpleEmail_Projekt/domain/userEmail.php b/simpleEmail_Projekt/domain/userEmail.php deleted file mode 100644 index d52a3d7..0000000 --- a/simpleEmail_Projekt/domain/userEmail.php +++ /dev/null @@ -1,25 +0,0 @@ -username = $username; - $this->password = $password; - } - - public function getusername() { - return $this->username; - } - - public function getPassword() { - return $this->password; - } - - public function setPassword($password) { - $this->password = $password; - } - } - - -?> \ No newline at end of file diff --git a/simpleEmail_Projekt/domain/userManager.php b/simpleEmail_Projekt/domain/userManager.php deleted file mode 100644 index 9c0be21..0000000 --- a/simpleEmail_Projekt/domain/userManager.php +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index 0bb1aa8..0000000 --- a/simpleEmail_Projekt/gui/html/Register.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - Register - - - -
-
-

Register

- - - - - -
- - - -
- - - - - -
- - @smail.de -
- - - - - - - - - -
-
- - - - diff --git a/simpleEmail_Projekt/gui/js/handleRegister.js b/simpleEmail_Projekt/gui/js/handleRegister.js deleted file mode 100644 index 1e91202..0000000 --- a/simpleEmail_Projekt/gui/js/handleRegister.js +++ /dev/null @@ -1,51 +0,0 @@ -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"); - -var btnSubmit = document.querySelector("input[type='submit']"); -var form = document.querySelector("#registerForm"); - -btnSubmit.addEventListener("click", checkRegister); - -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"; - hasError = true; - } else { - passwordMessage.innerHTML = ""; - } - - if (retypePasswordInput.value !== passwordInput.value) { - retypePasswordMessage.innerHTML = "Passwörter stimmen nicht überein!"; - retypePasswordMessage.style.color = "red"; - hasError = true; - } else { - 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; - } -} diff --git a/simpleEmail_Projekt/main/test.php b/simpleEmail_Projekt/main/test.php deleted file mode 100644 index 08f70b9..0000000 --- a/simpleEmail_Projekt/main/test.php +++ /dev/null @@ -1,16 +0,0 @@ -userRegister( - 'Ali', - 'Obaya', - '2000-01-01', - Gender::Male, - 'obai.albek', - 'meinPasswort123' -); - -echo $user; -?> \ No newline at end of file