Registrierung

'; $error = true; } if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo 'Bitte eine gültige E-Mail-Adresse eingeben
'; $error = true; } if(strlen($passwort) == 0) { echo 'Bitte ein Passwort angeben
'; $error = true; } if($passwort != $passwort2) { echo 'Die Passwörter müssen übereinstimmen
'; $error = true; } //Überprüfe, dass die E-Mail-Adresse noch nicht registriert wurde if(!$error) { $statement = $pdo->prepare("SELECT * FROM intern_users WHERE email = :email"); $result = $statement->execute(array('email' => $email)); $user = $statement->fetch(); if($user !== false) { echo 'Diese E-Mail-Adresse ist bereits vergeben
'; $error = true; } } //Keine Fehler, wir können den Nutzer registrieren if (!$error) { $pdo->beginTransaction(); try { // Passwort hashen $passwort_hash = password_hash($passwort, PASSWORD_DEFAULT); // intern_users $stmt = $pdo->prepare(" INSERT INTO intern_users (kassenart, plz, strasse, ort, geburtstag, tele, email, passwort, vorname, nachname) VALUES (:kassenart, :plz, :strasse, :ort, :geburtstag, :tele, :email, :passwort, :vorname, :nachname) "); $stmt->execute([ ':kassenart' => $kassenart, ':plz' => $plz, ':strasse' => $strasse, ':ort' => $ort, ':geburtstag' => $geburtstag, ':tele' => $tele, ':email' => $email, ':passwort' => $passwort_hash, ':vorname' => $vorname, ':nachname' => $nachname ]); // user-Tabelle: Insert oder Update über UNIQUE(mail) $stmt = $pdo->prepare(" INSERT INTO persons (vorname, nachname, geburtstag, email, tele, ort, plz, strasse) VALUES (:vorname, :nachname, :geburtstag, :email, :tele, :ort, :plz, :strasse) ON DUPLICATE KEY UPDATE vorname = VALUES(vorname), nachname = VALUES(nachname), geburtstag = VALUES(geburtstag), tele = VALUES(tele), ort = VALUES(ort), plz = VALUES(plz), strasse = VALUES(strasse) "); $stmt->execute([ ':vorname' => $vorname, ':nachname' => $nachname, ':geburtstag' => $geburtstag, ':email' => $email, ':tele' => $tele, ':ort' => $ort, ':plz' => $plz, ':strasse' => $strasse ]); // User-ID holen $stmt = $pdo->prepare("SELECT person_id FROM persons WHERE email = :mail"); $stmt->execute([':mail' => $email]); $userid = $stmt->fetchColumn(); $pdo->commit(); echo 'Du wurdest erfolgreich registriert. Zum Login'; $showFormular = false; } catch (Exception $e) { $pdo->rollBack(); echo 'Fehler beim Registrieren.
'; echo ($e->getMessage()); echo "
"; } } } if($showFormular) { ?>