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(); } ?>