main
Obai Albek 2025-06-06 23:53:48 +02:00
parent 0b8e00aaa3
commit 5fb52719e6
9 changed files with 140 additions and 5 deletions

View File

@ -0,0 +1,8 @@
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=simpleymail', 'root', '');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Verbindung fehlgeschlagen: " . $e->getMessage();
}
?>

View File

@ -0,0 +1,7 @@
<?php
enum Gender: string {
case Male = 'male';
case Female = 'female';
case Diverse = 'diverse';
}
?>

View File

@ -0,0 +1,63 @@
<?php
include_once 'userEmail.php';
include_once 'genderEnum.php';
class User{
private $firstname;
private $lastname;
private $birthdate;
private $userEmail;
private $password;
public function __construct($firstname, $lastname, $birthdate, Gender $gender, $username, $password) {
$this->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";
}
}
?>

View File

@ -0,0 +1,25 @@
<?php
class UserEmail{
private $username;
private $password;
public function __construct($username,$password){
$this->username = $username;
$this->password = $password;
}
public function getusername() {
return $this->username;
}
public function getPassword() {
return $this->password;
}
public function setPassword($password) {
$this->password = $password;
}
}
?>

View File

@ -0,0 +1,15 @@
<?php
include_once 'userEmail.php';
include_once 'genderEnum.php';
include_once 'database.php';
include_once 'user.php';
class UserManager {
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);
return $newUser;
}
}
?>

View File

@ -97,4 +97,5 @@ body {
} }
.form-container span{ .form-container span{
margin: 0px; margin: 0px;
font-size: 12px;
} }

View File

@ -12,7 +12,7 @@
<body> <body>
<div> <div>
<form class="form-container"> <form class="form-container" action="../../domain/database.php">
<h1>Register</h1> <h1>Register</h1>
<label for="firstName">Vorname:<span class="required">*</span> <label for="firstName">Vorname:<span class="required">*</span>
<input type="text" id="firstName" name="firstName" required /> <input type="text" id="firstName" name="firstName" required />
@ -69,5 +69,5 @@
</div> </div>
<script src="../js/handleRegister.js"></script> <script src="../js/handleRegister.js"></script>
</body> </body>
</html> </html>

View File

@ -9,7 +9,7 @@ var userNameMessage = document.querySelector("#userNameMessage");
username.addEventListener("input",checkUsername); username.addEventListener("input",checkUsername);
passwordInput.addEventListener("input", checkPassword); passwordInput.addEventListener("input", checkPassword);
retypePasswordInput.addEventListener("input", checkRetypePassword); // <-- auch beim Re-Type Feld checken! retypePasswordInput.addEventListener("input", checkRetypePassword);
function checkPassword() { function checkPassword() {
if (passwordInput.value.length < 6 || passwordInput.value.length == 0) { if (passwordInput.value.length < 6 || passwordInput.value.length == 0) {
@ -35,11 +35,11 @@ function checkRetypePassword() {
function checkUsername(){ function checkUsername(){
if (username.value.includes("@")){ if (username.value.includes("@")){
userNameMessage.innerHTML = "Benutzername darf nur Buchstaben und Zahlen enthalten!"; userNameMessage.innerHTML = "Benutzername darf nur Buchstaben und Zahlen enthalten!";
userNameMessage.style.color="red"; userNameMessage.style.color="red";
userNameMessage.style.margin=0; userNameMessage.style.margin=0;
} }else
userNameMessage.innerHTML = "";
} }

View File

@ -0,0 +1,16 @@
<?php
include_once '../domain/userManager.php';
$testManager = new UserManager();
$user = $testManager->userRegister(
'Ali',
'Obaya',
'2000-01-01',
Gender::Male,
'ali.obaya',
'meinPasswort123'
);
echo $user;
?>