This commit is contained in:
2025-11-28 02:46:51 +01:00
parent 99ad78dbe4
commit aae6006656
4 changed files with 192 additions and 149 deletions

View File

@@ -2,24 +2,39 @@
// src/auth/login.php
// wird durch public/auth/login.php aufgerufen
// Nur POST zulassen
// Basis-Setup: Session, $pdo, flash_*, Sprachlogik etc.
require_once $_SERVER['DOCUMENT_ROOT']. '/../config/fileload.php';
// Sprache aus der zentralen Sprachlogik holen
// (fileload.php sollte $GLOBALS['lang'] anhand von URL, Session, Browser etc. setzen)
$lang = $GLOBALS['lang'] ?? 'en';
// Nur POST zulassen alles andere zurück zur Login-Seite
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
$lang = $_GET['lang'] ?? 'de';
header('Location: /login/?lang=' . urlencode($lang) . '&view=login#auth');
$target = '/login/?lang=' . urlencode($lang) . '&view=login#auth';
header('Location: ' . $target);
exit;
}
// Basis-Setup: Session, $pdo, flash_*, Config etc.
require_once __DIR__ . '/../../config/fileload.php';
// ---------------------------------------------------------
// Form-Daten einsammeln
$lang = $_POST['lang'] ?? 'de';
// ---------------------------------------------------------
$email = trim((string)($_POST['email'] ?? ''));
$password = (string)($_POST['password'] ?? '');
$redirect = $_POST['redirect'] ?? '/';
// (Optional) Falls das Formular noch ein <input name="lang"> hat,
// kannst du das nutzen, falls kein $GLOBALS['lang'] gesetzt ist:
if (empty($lang) && !empty($_POST['lang'])) {
$lang = substr((string)$_POST['lang'], 0, 2);
}
// Minimal-Validierung
if ($email === '' || !filter_var($email, FILTER_VALIDATE_EMAIL) || $password === '') {
if (
$email === '' ||
!filter_var($email, FILTER_VALIDATE_EMAIL) ||
$password === ''
) {
flash_set('error', 'Bitte E-Mail-Adresse und Passwort eingeben.', 'login');
header('Location: /login/?lang=' . urlencode($lang) . '&view=login#auth');
exit;

View File

@@ -2,21 +2,33 @@
// src/auth/register.php
// Wird durch public/auth/register.php aufgerufen
// Basis-Setup: Session, $pdo, flash_*, Sprachlogik etc.
require_once $_SERVER['DOCUMENT_ROOT']. '/../config/fileload.php';
// Sprache aus zentraler Sprachlogik holen
$lang = $GLOBALS['lang'] ?? 'en';
// Nur POST zulassen alles andere zurück zur Login-/Register-Ansicht
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
$lang = $_GET['lang'] ?? 'de';
header('Location: /login/?lang=' . urlencode($lang) . '&view=register#auth');
$target = '/login/?lang=' . urlencode($lang) . '&view=register#auth';
header('Location: ' . $target);
exit;
}
// Benötigt: $pdo, flash(), Session → via fileload
require_once __DIR__ . '/../../config/fileload.php';
$lang = $_POST['lang'] ?? 'de';
// ---------------------------------------------------------
// Form-Daten einsammeln
// ---------------------------------------------------------
$name = trim((string)($_POST['name'] ?? ''));
$email = trim((string)($_POST['email'] ?? ''));
$password = (string)($_POST['password'] ?? '');
$redirect = $_POST['redirect'] ?? '/';
// Optional: Falls aus irgendeinem Grund $lang noch leer ist,
// kannst du (z.B. beim ersten Request) auf ein hidden-Feld im Formular zurückgreifen.
if (empty($lang) && !empty($_POST['lang'])) {
$lang = substr((string)$_POST['lang'], 0, 2);
}
/* ---------------------------------------------------------
VALIDIERUNG
--------------------------------------------------------- */
@@ -125,7 +137,6 @@ $_SESSION['user'] = [
'initials' => $initials,
];
/* ---------------------------------------------------------
ERFOLGSMELDUNG + REDIRECT
--------------------------------------------------------- */
@@ -138,9 +149,11 @@ if ($target === '' || !str_starts_with($target, '/')) {
$target = '/';
}
$separator = (strpos($target, '?') === false) ? '?' : '&';
$target .= $separator . 'lang=' . urlencode($lang);
// Sprache anhängen, falls noch nicht vorhanden
if (strpos($target, 'lang=') === false) {
$separator = (strpos($target, '?') === false) ? '?' : '&';
$target .= $separator . 'lang=' . urlencode($lang);
}
header('Location: ' . $target);
exit;