Problem mit Settings API bei leerem Tabellen-Eintrag Fehler

  • Hallo,

    ich habe ein Problem mit der Validierung der Eingaben von einer Options Page mit der Settings API.
    Ich will die Eingaben zweier text-intput Felder als key-value Paare in der Tabelle Options speichern. Dazu habe ich 2 Settings Fields hinzugefügt, und schreibe diese Eingaben in der Validierungsfunktion in der gewünschten Form in ein Array.
    Hier mal der Code der Validierungsfunktion:

    PHP
    function mu_file_types_validate($input){
        $options = get_option('mu_file_types') ;
        $key = trim($input['abbreviation']) ;
        $options[$key] = trim($input['mime']) ;
        return $options ;
    }

    Das ganze klappt ganz nett, solange schon was in dem Array steht, also schon eine Option gespeichert ist. Ist das nicht der Fall, und es existiert kein Eintrag, so gibts Probleme.
    Wenn ich dann z.B- das Paar a , b eingebe, erhalte ich eine Fehlermeldung:

    Notice: Undefined index: abbreviation in C:\Program Files\xampp\xampp\htdocs\DorfNeu\wp-content\plugins\myUploads\adminMenue.php on line 97

    Notice: Undefined index: mime in C:\Program Files\xampp\xampp\htdocs\DorfNeu\wp-content\plugins\myUploads\adminMenue.php on line 98

    Das sind die Indizes des Arrays 'input' in der Fkt [FONT=Times New Roman, serif][size=12]'[/SIZE][/FONT][COLOR=#000000][FONT=Times New Roman, serif][size=12]mu_file_types_validate', das dieser als Parameter[/SIZE][/FONT][/COLOR] übergeben wird.
    Wenn ich die Seite nun neu lade, so ist in der Tabelle Options ein neues Array (mu_file_types) vorhanden, allerdings mit 2 Einträgen der Form: ("" => "" , "a" => "b" ). Als erstes ist immer ein leerer Eintrag vorhanden. Nun kann man problemlos weitere Paare eintragen, diese werden alle richtig gespeichert.
    So wie ich das verstanden habe, erhält der Parameter 'input' den Inhalt aus der Post-Variablen, und diese ist nicht abhängig von dem Inhalt der Tabelle Options. Daher weiß ich auch nicht, wie ich hier ansetzen soll, um den Fehler zu beseitigen.

    Den gesammten Code für die Options Page gebe ich hier noch mit an:

    LG
    Pakla

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!