Ergebnis 1 bis 8 von 8

Thema: 0 Werte werden nicht gespeichert

  1. #1
    Contao-Nutzer
    Registriert seit
    05.03.2013.
    Beiträge
    7

    Standard 0 Werte werden nicht gespeichert

    Hallo zusammen!
    Ich würde gerne die Option "Daten im Modul "Formular-Daten" speichern" nutzen. Das funktioniert auch soweit ganz gut.
    Leider stehe ich vor dem Problem, dass keine Felder gesichert werden, in denen sich als numerischer Wert 0 befindet.
    In der Datenbank wird die für diese Felder kein Eintrag erstellt. Nutze ich die Funktion "Eingaben speichern" funktioniert hingegen alles problemlos.
    Deswegen ist meine Frage daher, wo ich Ansätzen könnte, um EFG davon abzuhalten diese Einträge zu filtern?

    Vielen Dank im Voraus!

  2. #2
    Contao-Nutzer
    Registriert seit
    05.03.2013.
    Beiträge
    7

    Standard

    Vielen Dank für die große Mithilfe
    In der Zwischenzeit habe ich das Problem selbst gelöst. Für alle, die evtl. auf den gleichen Fehler stoßen:
    In der Datei efg/classes/FormdataProcessor.php werden in Zeile 304 die übermittelten Daten überprüft.
    PHP-Code:
    if ($arrSubmitted[$k] || ($strType == 'upload' && strlen($strVal)))
                        {
                            
    // Prepare data
                            
    $arrFieldSet = array(
                                
    'pid' => $intNewId,
                                
    'sorting' => $arrField['sorting'],
                                
    'tstamp' => $timeNow,
                                
    'ff_id' => $arrField['id'],
                                
    'ff_name' => $arrField['name'],
                                
    'value' => $strVal
                            
    );
                            
                            
    $objNewFormdataDetails = \Database::getInstance()
                                ->
    prepare("INSERT INTO tl_formdata_details %s")
                                ->
    set($arrFieldSet)
                                ->
    execute();

                        } 
    Durch hinzufügen einer expliziten Prüfung auf den String 0, werden auch Textfelder gespeichtert, die mit 0 ausgefüllt sind.
    PHP-Code:
    if ($arrSubmitted[$k] || ($strType == 'upload' && strlen($strVal)))
                        {
                            
    // Prepare data
                            
    $arrFieldSet = array(
                                
    'pid' => $intNewId,
                                
    'sorting' => $arrField['sorting'],
                                
    'tstamp' => $timeNow,
                                
    'ff_id' => $arrField['id'],
                                
    'ff_name' => $arrField['name'],
                                
    'value' => $strVal
                            
    );
                            
                            
    $objNewFormdataDetails = \Database::getInstance()
                                ->
    prepare("INSERT INTO tl_formdata_details %s")
                                ->
    set($arrFieldSet)
                                ->
    execute();

                        }
                        
    //Save zero Integer values
                        
    else if($strVal === "0")
                        {
                            
    // Prepare data
                            
    $arrFieldSet = array(
                                
    'pid' => $intNewId,
                                
    'sorting' => $arrField['sorting'],
                                
    'tstamp' => $timeNow,
                                
    'ff_id' => $arrField['id'],
                                
    'ff_name' => $arrField['name'],
                                
    'value' => $strVal
                            
    );
                            
                            
    $objNewFormdataDetails = \Database::getInstance()
                                ->
    prepare("INSERT INTO tl_formdata_details %s")
                                ->
    set($arrFieldSet)
                                ->
    execute();
                        } 

  3. #3
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo tmic,

    vielen Dank auch für die Geduld

    Das Problem ist in der 2.0.0 stable behoben.

    Schöne Grüße
    Tom

  4. #4
    Contao-Nutzer
    Registriert seit
    05.03.2013.
    Beiträge
    7

    Standard

    Vielen Dank, das Problem tritt nach dem Update nicht mehr auf!
    Jedoch besteht ein ähnliches Problem bei der Darstellung bereits ausgefüllter Formulare. Im Front-End werden Felder, die mit 0 belegt sind, als leere Felder angezeigt, obwohl alles korrekt gespeichert ist.

  5. #5
    Contao-Nutzer
    Registriert seit
    05.03.2013.
    Beiträge
    7

    Standard

    Hat sonst niemand dieses Problem oder hast du vielleicht noch eine Idee woran es liegen könnte? So hat es für den Nutzer leider den Anschein, dass die gemachten Eingaben nicht gespeichert werden.

  6. #6
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hast Du EFG schon auf Version 2.0.1 aktualisiert?
    Falls das Problem damit immer noch besteht, müsste ich bitte ein paar mehr Details erfahren (zumindest welcher Formularfeld-Typ).

  7. #7
    Contao-Nutzer
    Registriert seit
    05.03.2013.
    Beiträge
    7

    Standard

    Hi Tom!
    Danke für die schnelle Antwort. Hatte noch gar nicht gesehen, dass es wieder ein Update gab. Mein Fehler.
    Das Update hat dann das Problem behoben!

  8. #8
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo tmic,

    gut, dann hab' ich also nicht nochmal eine Stelle übersehen.

    Schöne Grüße
    Tom

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •