Registrierung
plausiblisieren()) { $this->eintragen_db(); } } /** * Plausiblisierungsmethode * Testet die einzelnen Eingabefelder des Registrierungsformulars gegenüber * - den Notwendigkeiten in der MySQL-Datenbank und * - weiteren Anforderungen, die die Logik des Netzwerks fordert * Die Eingaben stehen im globalen Array $_POST zur Verfügung * @return true, wenn die Plausiblisierung keine Fehler ergab - sonst false */ private function plausiblisieren() { // Fehlervariable $anmelden = 0; $p = new Plausi(); $anmelden += $p->namentest($_POST['name']); $anmelden += $p->namentest($_POST['vorname']); $anmelden += $p->emailtest($_POST['email']); $anmelden += $p->nutzerdatentest($_POST['userid']); $anmelden += $p->nutzerdatentest($_POST['pw']); //Kritische Zeichen aus der freien Eingabe der Zusatzinfos eleminieren $_POST['zusatzinfos'] = preg_replace("/[<>$\%&§]/", "#", $_POST['zusatzinfos']); // Testausgaben für den derzeitigen Stand des Projekts echo "Die Eingaben:"; print_r($_POST); echo "
Fehleranzahl: " . $anmelden . "
"; if ($anmelden == 0) return true; else return false; } /** * Eintragen der Anmeldedaten in die Datenbank * Die Eingaben stehen im Array $_POST zur Verfügung */ private function eintragen_db() { require ("db.inc.php"); try { $stmt = $pdo->prepare("INSERT INTO mitglieder ( name, vorname, email, zusatzinfos, rolle, userid, pw) VALUES (:name, :vorname, :email, :zusatzinfos, :rolle, :userid, :pw)"); $stmt->execute(array( ':name' => $_POST["name"], ':vorname' => $_POST["vorname"], ':email' => $_POST["email"], ':zusatzinfos' => $_POST["zusatzinfos"], ':rolle' => "Mitglied", ':userid' => $_POST["userid"], ':pw' => md5($_POST["pw"]) )); $_SESSION["name"] = $_POST["userid"]; $_SESSION["login"] = "false"; $dat = "index.php"; } catch (PDOException $e) { error_log("Registrierungsfehler: " . $e->getMessage()); // Log für Admins $dat = "regfehler.php"; } header("Location: $dat"); } } $regobj = new Registrierung(); if (sizeof($_POST) > 0) { $regobj -> registrieren(); } ?>