isEnabled()) { http_response_code(404); echo 'Registrierung ist deaktiviert.'; exit; } $csrfToken = (string) ($_SESSION['registration_form_token'] ?? ''); if ($csrfToken === '') { $csrfToken = bin2hex(random_bytes(16)); $_SESSION['registration_form_token'] = $csrfToken; } $errors = []; $submitted = false; $createdRequest = null; $form = [ 'username' => '', 'given_name' => '', 'family_name' => '', 'email' => '', 'password' => '', 'password_confirm' => '', ]; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $form = [ 'username' => trim((string) ($_POST['username'] ?? '')), 'given_name' => trim((string) ($_POST['given_name'] ?? '')), 'family_name' => trim((string) ($_POST['family_name'] ?? '')), 'email' => trim((string) ($_POST['email'] ?? '')), 'password' => (string) ($_POST['password'] ?? ''), 'password_confirm' => (string) ($_POST['password_confirm'] ?? ''), ]; $postedToken = (string) ($_POST['csrf_token'] ?? ''); if ($postedToken === '' || !hash_equals($csrfToken, $postedToken)) { $errors[] = 'Die Formularprüfung ist fehlgeschlagen. Bitte versuche es erneut.'; } else { $result = $registration->submit($form); if (($result['success'] ?? false) !== true) { $errors = array_values(array_map('strval', (array) ($result['errors'] ?? []))); } else { $submitted = true; $createdRequest = $result['request'] ?? null; $csrfToken = bin2hex(random_bytes(16)); $_SESSION['registration_form_token'] = $csrfToken; $form = [ 'username' => '', 'given_name' => '', 'family_name' => '', 'email' => '', 'password' => '', 'password_confirm' => '', ]; } } } ?> Registrierung anfragen