Projekt

Allgemein

Profil

Aktionen

Bug #83

offen

[Bugsink] ErrorException: Warning: Undefined array key "eventDateEnd"

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
23.07.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/a51af80f-7c31-49b7-becb-59ec4c048c67/event/last/

Typ: NEW issue

Projekt: www-rietberg-de

Bugsink Alert

ErrorException: Warning: Undefined array key "eventDateEnd"


Automatisch erstellt durch n8n

KI-Analyse:

Hier ist die präzise Analyse des Fehlers als Senior TYPO3/PHP-Entwickler:


1. Ursache identifizieren

  • Fehler: ErrorException: Warning: Undefined array key "eventDateEnd"
    • Der Fehler tritt auf, wenn versucht wird, auf den Array-Key "eventDateEnd" zuzugreifen, der nicht existiert (z. B. in $_GET, $_POST, einem Konfigurationsarray oder einem TYPO3-Datenbankfeld).
    • Der Stacktrace zeigt, dass der Fehler in der index.php (Zeile 20/21) ausgelöst wird, vermutlich in einem Closure oder einer benutzerdefinierten Logik (kein Core-Code).
    • Die Middleware-Kette (MiddlewareDispatcher) ist nur der Transportweg – der eigentliche Fehler liegt nicht im TYPO3-Core, sondern in benutzerdefiniertem Code (z. B. einer Extension oder Frontend-Logik).

2. Fix beschreiben (konkret)

Option 1: Array-Key prüfen (defensiv programmieren)

// Vor dem Zugriff prüfen, ob der Key existiert
$eventDateEnd = $array['eventDateEnd'] ?? null; // PHP 7.0+ (Null Coalescing Operator)
if ($eventDateEnd === null) {
    // Fallback-Logik (z. B. Default-Wert setzen oder Fehler melden)
    $eventDateEnd = '1970-01-01'; // Beispiel
}

Empfehlung: Nutze ?? oder isset()/array_key_exists() für sicheren Zugriff.

Option 2: TYPO3-spezifische Lösung

Falls der Key aus einem Extbase-Modell oder FlexForm stammt:

  • Prüfe das TCA der Extension (z. B. Configuration/TCA/Overrides/tx_extension_domain_model_event.php):
    'event_date_end' => [
        'config' => [
            'type' => 'input',
            'eval' => 'datetime', // oder 'date'
            'default' => '0' // Default-Wert setzen
        ]
    ]
    
  • Validierung im Controller:
    if (empty($this->request->getArgument('eventDateEnd'))) {
        $this->addFlashMessage('Enddatum fehlt!', '', AbstractMessage::ERROR);
        return $this->redirect('new');
    }
    

Option 3: Debugging-Schritte

  1. Stacktrace analysieren:
    • Der Fehler stammt aus /public/index.php – suche dort nach dem Zugriff auf $_GET['eventDateEnd'], $_POST['eventDateEnd'] oder einem Array wie $data['eventDateEnd'].
  2. Log prüfen:
    • TYPO3-Logs (var/log/typo3_*.log) oder PHP-Error-Logs für Kontext.
  3. Xdebug nutzen:
    • Setze einen Breakpoint in der index.php und prüfe den Inhalt des Arrays.

3. Betroffene TYPO3 Extension

  • Keine Core-Extension (der Fehler liegt nicht in /vendor/typo3/cms-core/).
  • Verdächtige Kandidaten:
    • Eine benutzerdefinierte Extension (z. B. ext:events, ext:calendar).
    • Eine Frontend-Logik (z. B. in typo3conf/ext/extension/Classes/Controller/EventController.php).
    • Ein Plugin oder Hook, das eventDateEnd verarbeitet.
  • Suche nach dem Key:
    grep -r "eventDateEnd" typo3conf/ext/
    

4. Confidence

  • 95%: Der Fehler ist klar ein undefinierter Array-Key in benutzerdefiniertem Code.
  • 5% Unsicherheit: Ohne den genauen Code der index.php oder der Extension kann die exakte Stelle nicht 100%ig benannt werden. Der Stacktrace deutet aber stark auf eine Frontend-Logik hin.

Zusammenfassung

Punkt Details
Ursache Undefinierter Array-Key "eventDateEnd" in benutzerdefiniertem Code.
Fix Array-Key prüfen (?? oder isset()), TCA anpassen, Controller validieren.
Extension Benutzerdefinierte Extension (z. B. ext:events).
Confidence 95%

Nächste Schritte:

  1. Suche nach "eventDateEnd" in der Codebase.
  2. Prüfe, ob der Key in Formularen (z. B. Fluid-Templates) oder Datenbankfeldern fehlt.
  3. Implementiere eine der oben genannten Fixes.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF