142 lines
4.9 KiB
PHP
142 lines
4.9 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta name="author" content="Obai Albek">
|
|
<link rel="stylesheet" href="../css/registerStyle.css">
|
|
<title>Register</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div>
|
|
<form class="form-container" action="register.php" method="post">
|
|
<h1>Register</h1>
|
|
|
|
<label for="firstName">Vorname:<span class="required">*</span>
|
|
<input type="text" id="firstName" name="firstName" required />
|
|
</label>
|
|
|
|
<label for="lastName">Nachname:<span class="required">*</span>
|
|
<input type="text" id="lastName" name="lastName" required />
|
|
</label>
|
|
|
|
<label for="gender">Geschlecht: <span class="required">*</span></label>
|
|
<div class="gender-options">
|
|
<label for="male">
|
|
<input type="radio" id="male" name="gender" value="Männlich" required /> Männlich
|
|
</label>
|
|
<label for="female">
|
|
<input type="radio" id="female" name="gender" value="Weiblich" required /> Weiblich
|
|
</label>
|
|
<label for="divers">
|
|
<input type="radio" id="divers" name="gender" value="Divers" required /> Divers
|
|
</label>
|
|
</div>
|
|
|
|
<label for="birthdate">Geburtsdatum:<span class="required">*</span>
|
|
<input type="date" id="birthdate" name="birthdate" required />
|
|
</label>
|
|
|
|
<label for="username">Benutzername:<span class="required">*</span><br>
|
|
<span id="userNameMessage" ></span>
|
|
</label>
|
|
<div class="username-group">
|
|
<input type="text" id="username" name="username" required />
|
|
<span id="domain">@smail.de</span>
|
|
</div>
|
|
|
|
<label for="telefonnummer">Telefonnummer:
|
|
<input type="tel" id="telefonnummer" name="telefonnummer" />
|
|
</label>
|
|
|
|
<label for="password">Password:<span class="required">*</span><br>
|
|
<span id="passwordMessage"></span>
|
|
<input type="password" id="password" name="password" required />
|
|
</label>
|
|
|
|
<label for="retype_password">Re-Type Password:<span class="required">*</span><br>
|
|
<span id="retypePasswordMessage"></span>
|
|
<input type="password" id="retype_password" name="retype_password" required />
|
|
</label>
|
|
|
|
|
|
<input id="submit" type="submit" name="register" value="Submit">
|
|
</form>
|
|
</div>
|
|
|
|
<script src="../js/handleRegister.js"></script>
|
|
|
|
</body>
|
|
</html>
|
|
|
|
<?php
|
|
session_start();
|
|
|
|
try {
|
|
$dbh = new PDO('mysql:host=localhost;dbname=simpleymail','root','');
|
|
$dbh->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();
|
|
}
|
|
?>
|