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) {
?>