Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Vereinzelt fast leere Datensätze

More
7 years 6 months ago #3619 by titoso
Vereinzelt fast leere Datensätze was created by titoso
Hallo,
nahezu alle Felder meines Formulars sind als Pflichtfelder deklariert, zusätzlich muss der Benutzer eine Datei hochladen. Vereinzelt (ca. 4%) wird aber ein bis auf die Bilddatei leerer Datensatz abgespeichert - weder in der Datenbank, noch in der Ergebnismail steht außer der Bilddatei ein Formularwert.
Woran liegt das - ich konnte das bisher nicht reproduzieren? Wie löse ich das Problem?
In der SQL-Datenbankstruktur kann ich sehen, dass die Pflichtfelder alle NULL werden dürfen - ist das beabsichtigt? Wäre es eine sinnvolle Lösung, die wichtigen Felder auf "Not NULL" zu stellen`?
Link zum Formular:
brueckenkopf-park.de/index.php/veranstal.../fotowettbewerb.html
Danke & einen guten Start in die neue Woche!
Tobias

More
7 years 6 months ago #3624 by Administrator AV
Replied by Administrator AV on topic Vereinzelt fast leere Datensätze
Hallo Tobias,

danke für diesen Beitrag.
Von so etwas hat hier noch nie jemand berichtet.
Ich muss mir erst einmal Gedanken darüber machen, wie es zu so einem Verhalten kommen könnte.
Ob das NULL in der Datenbank zugelassen ist oder nicht, sollte meines Erachtens keinen Unterschied machen, das eigentliche Problem liegt meines Erachtens an einer anderen Stelle. Ich weiß aber noch nicht wo.
Sind die Bilddateien, die mit diesen leeren Datensätzen übermittelt werden den inhaltlich ok (passend zum Wettbewerb)?
Visforms Version?
Joomla! Version?
Cache Setting in der System Konfiguration?
Ist das Cache Plugin aktiviert?
Hast du in deiner Formularkonfiguration irgendwo eine "Eindeutige Werte Erzwingen" Validierung eingebaut?

Dir auch einen guten Start in die neue Woche.

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

More
7 years 6 months ago #3625 by titoso
Replied by titoso on topic Vereinzelt fast leere Datensätze
Hallo,
ich habe in der Datenbank jetzt das E-Mail-Adressfeld auf "Not NULL" gesetzt - ich hoffe, dass führt zunächst dazu, dass die Leute im Zweifelsfall irgendeine Fehlermeldung kriegen und kein Datensatz generiert wird. Da ich aber nicht weiß, wie der Fehler überhaupt passieren kann, kann ich es auch nicht überprüfen.
Ein bisschen beruhigt mich, dass dieses Problem scheinbar noch nicht aufgetreten ist - also habe ich wahrscheinlich im Forum nichts übersehen und auch keinen groben Schnitzer in der Konfiguration...
Zu den Fragen:
- Bilddateien passen alle, sehen also nach ganz "normalen" Teilnehmern aus
- Visforms-Version: 3.6.11
- Joomla-Version: 3.5.1
- Cache ist "AUS - Cache deaktiviert"
- Das Plugin "System - Seitencache" ist deaktiviert
- "Eindeutige Werte Erzwingen" habe ich im Moment nicht drin, wüsste aus dem Stehgreif auch nicht, für welches Feld ich das sinnvoll aktivieren könnte (Benutzer können ja mehrere Bilder einreichen) - vielleicht für das Bild-Uploadfeld, da dort ja beim speichern scheinbar ein Zufallswert an den Dateinamen angehängt wird!?

Ich hoffe, das hilft bei der Ursachenforschung, ansonsten bitte melden - ich probiere fast alles ;)
Danke + Grüße in den Odenwald
Tobias

More
7 years 6 months ago #3627 by Administrator AV
Replied by Administrator AV on topic Vereinzelt fast leere Datensätze
Hallo Tobias,

danke für die zusätzliche Info.
Das klingt ja alles ganz normal und gut.

Nach der Option "Eindeutige Werte erzwingen" habe ich gefragt, weil ich dachte, dass, wenn diese für ein Feld aktiviert wäre, dies evtl. eine Fehlerursache sein könnte. Aber da du sie nicht aktiviert hast, kann dies auch nicht die Ursache deines Problems sein.

Die ganze Sache ist mir wirklich im Moment ein Rätsel. Dass in der Datenbank NULL gespeichert wird, würde für mich fast darauf hinweisen, dass die Felder im Post, mit dem die Daten übertragen werden, fehlen.

So etwas kann vorkommen, wenn z.B. das Limit für die Maxmiale Post Größe, die in der php.ini festgelegt ist, überschritten wird. Aber dann ist der gesamte Post leer und es gibt dann normalerweisen einen fatal Error oder so was.

Ein zweiter Grund, warum Felder mit dem Post nicht übertragen werden ist, wenn das Feld "disabled" ist (man kann in Visforms ja bedingte Felder anlegen und wenn ein solches Feld im Formular nicht angezeigt wird ist es disabled und wird nicht mit dem Post übertragen). Aber das ist in deinem Formular ja nicht der Fall und Visforms prüft auch, ob von der Feldkonfiguration her es so eingestellt ist, dass ein Feld ein bedingtes Feld ist. Nur für bedingte Felder, die aufgrund der übermittelten Benutzerdaten nicht angezeigt werden, wird die Pflichtfeldvalidierung ausgelassen und für solche Felder würde in der Datenbank dann auch tatsächlich der Wert NULL gespeichert.

Die Bilder, die mit den leeren Datensätzen gespeichert werden, ist an denen irgend etwas besonders (sind, die z.B. von der Dateigröße her größer als die bei denen alles klappt) oder sind die Bilder evtl. doppelt (in zwei aufeinanderfolgenden Datensätzen, einem nicht leeren und einem leeren wurde dasselbe Bild gespeichert)?

Gruß,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

More
7 years 6 months ago - 7 years 6 months ago #3629 by titoso
Replied by titoso on topic Vereinzelt fast leere Datensätze
Hallo,
alles sehr mysteriös... OK:
- ein anderer User hat sich gemeldet, der ein zu großes Bild hochladen wollte, er habe "eine Fehlermeldung" bekommen - da ist aber auch überhaupt kein Datensatz angelegt worden.
- die "unbekannten" Bilder sind nicht ungewöhnlich, das Dateiformat ist bei allen JPG, die Dateinamen weisen keine Besonderheiten auf, die Größe variiert zwischen 1,2 und 4,8MB, alles im Rahmen - teilweise stammen die Bilder sogar von der selben Kamera wie Bilder, die "funktioniert" haben (siehe weiter unten).
- die Bilder sind nicht doppelt, d.h. der nächste Datensatz ist ein ganz anderes Bild.

Ich habe mir jetzt nochmal die SQL-Tabelle zu dem Formular vorgenommen und dabei sind mir noch ein paar Dinge aufgefallen:
- bei den betroffenen Datensätzen fehlen nur die Daten der Formularfelder, d.h. alle anderen Felder haben "normale" Werte. Unter anderem wurde auch die IP-Adresse gespeichert.
- letzteres führt zu einer weiteren Erkenntnis: von der IP-Adresse und dem created-Zeitstempel her sind in den meisten der "Problemfälle" von dem jeweiligen User kurz nacheinander (wenige Minuten Abstand) mehrere Bilder hochgeladen worden, wobei jeweils das erste ein leerer Datensatz ist, die restlichen sind OK (damit kann ich die meisten Leute jetzt gezielt ansprechen - das hilft mir schon sehr!).
- leider gilt: keine Regel ohne Ausnahme - in einem Fall gibt es keine weiteren Bilder dieser IP und auch zeitlich keine direkt zusammenhängenden Uploads.
- das Problem tritt sowohl bei IPv4-, als auch bei IPv6-Quelladressen auf
- die Formularfelder der Datensätze sind nicht NULL sondern leer - in der Tabellenansicht kann ich sehen, dass das Feld "articleid" bei allen Datensätzen "NULL" ist, die leeren Formulardatensatzfelder sind jedoch nur leer und nicht "NULL" (womit mein "Not-Null"-Workaround vermutlich auch nicht hilft...
- die betroffenen Datensätze verteilen sich auf zwei Tage, dazwischen sind diverse korrekte Datensätze vorhanden, eine technische Störung beim Hoster o.ä. würde ich daher ausschließen.

Vielleicht helfen diese Infos noch weiter?!

Es grüßt schon wieder: Tobias
Last edit: 7 years 6 months ago by titoso.

More
7 years 6 months ago #3634 by Administrator AV
Replied by Administrator AV on topic Vereinzelt fast leere Datensätze
Guten Morgen Tobias,

über das Feld ArticleId brauchst du dir keine Gedanken machen. Das ist ein "Relikt" und wird einfach nicht benutzt und nicht gesetzt, deshalb ist der DB-Wert Null.

Wenn bei den anderen Feldern in der Datenbank "" gespeichert ist und nicht Null, dann ist das eine andere Situation. Ich habe noch mal in den Code geschaut und die Reihenfolge wie Visforms arbeitet ist, dass zuerst versucht wird, das Bild auf dem Server zu speicheren. Nur wenn das geklappt hat, wird der Datensatz in der Datenbank gespeichert. Da für das Upload-Field spezielle Informationen gespeichert werden müssen, wird hier der Datenbankwert anders als bei allen anderen Feldtypen behandelt, insofern wäre es theoretisch tatsächlich möglich, dass ein Datensatz entsteht, in dem nur für die Visforms Overheadfelder und die Uploadfelder etwas drin steht, nachdem alle Felder zuvor erfolgreich durch die Validierung gelaufen sind. Allerdings nur, wenn das etwas schief läuft, was ich immer noch nicht verstehe. Der Code findet sich in der Datei components/com_visforms/models/visforms.php Zeile 616 - 623. Hier gibt es ein "else" bei dem der db-Wert auf "" gesetzt wird, allerding sollte dieses "else" bei Feldern, die normal mit Werten übertragen wurden, nicht erreicht werden. Du könntest diese Stelle allerdings genauer untersuchen, dann wüssten wir wenigstens, ob das Problem dort entsteht. (z.B. indem du in das "else" statt $fieldValue="" einen anderen Wert rein schreibst, an dem du erkennst, dass Visforms durch dieses "else" gelaufen ist.

Du verwendest Joomla! 3.5 und Visforms 3.6.11. Die aktuelle stabile Visforms Version ist 3.7.10. Gibt es einen speziellen Grund, warum du nicht auf Joomla! 3.6 und Visforms 3.7. upgedatet hast? Ich bin mir absolut nicht sicher, ob das dein Problem behebt, aber Joomla! 3.5 hatte nur eine sehr kurze Lebensdauer wegen Bugs und Sicherheitslücken und evtl. besteht ja eine ganz kleine Möglichkeit, dass das Problem durch ein ungünstiges Zusammenspiel von Visforms 3.6 mit Joomla! 3.5 entsteht. Allerdings gibt es, wenn du beides upgedatest hast keine Möglichkeit mehr zurück zu gehen (auch wenn du ein Backup hast) ohne dass dir die Daten aller zwischenzeitlich übermittelten Bilder verloren gehen.

Ansonsten fällt mir hierzu leider immer noch nicht mehr ein.

Liebe Grüße,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum