Http Fehler 500 bei Starten Liste mit Datum

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

Hallo zäme,
Wir haben viele Listen die ein oder mehrere Felder mit "Datum" enthalten.
Nach dem Upgrade auf 3.2.9 haben wir mit Listen, die ein Datum enthalten Probleme. Startet man die Liste zur Anzeige, so kommt keine Liste sondern der HTTP Fehler 500.
Habe mit Testlisten versucht den Fehler einzugrenzen. Einzelne Datumsfelder z-B. Geburtstag gehen. Von uns neu eingefügte Felder mit Datentyp "Datum" gehen wiederum nicht.
Gibt es eine Möglichkeit irgendwie ein Debugger einzuschalten, damit ich Euch mehr Informationen zum Problem liefern könnte?

Liebe Grüsse

Gérald
Dateianhänge
Fehler nach dem Aufrufen der Liste
Fehler nach dem Aufrufen der Liste
Fehler_Liste.png (36.67 KiB) 12609 mal betrachtet
Definition der Liste die Fehler erzeugt
Definition der Liste die Fehler erzeugt
Listendefinition.png (65 KiB) 12609 mal betrachtet
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von weissst »

Hallo Gérald,

auf dieser Seite solltest du alle Informationen zum Debug finden:
https://www.admidio.org/dokuwiki/doku.p ... stellungen

ich kann nur sagen, das ich das php Script erreichen kann und den Fehler daher nicht nachvollziehen kann...

lg
Stefan
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von XimeX »

Den debug Modus einschalten und sich die letzten Logs ansehen bzw wenn die nicht weiterhelfen die Logs hier posten
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

Habe jetzt Debugging eingeschaltet und erhalte folgende Meldung:
Fatal error: Call to a member function format() on boolean in /home/biennaje/www/public_html/admidio/adm_program/modules/lists/lists_show.php on line 720
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

Hier ist wohl die Stelle wo das Programm abbricht.

// date must be formated
$date = DateTime::createFromFormat('Y-m-d', $member[$sqlColumnNumber]);
=> Zeile 720 $content = $date->format($gPreferences['system_date']);


Könnte es sein, dass auf der DB noch Felder mit Datum irgendwie falsch gefüllt sind?
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von XimeX »

Füg mal vor der Zeile 720 folgendes ein und schau dir nochmals die Logfiles an:

Code: Alles auswählen

$gLogger->critical('FEHLER >>>>' , array($member, $sqlColumnNumber, $member[$sqlColumnNumber]));
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

Hallo,
Jetzt hier noch der Inhalt des Log Files:
[2017-06-06 18:20:33] Admidio.CRITICAL: FEHLER >>>> [{"mem_leader":"0","0":"0","usr_id":"745","1":"745","usd_value":"2017-03-01","2":"Affolter","3":"Philippe","4":"220.00","5":"2017-03-01"},5,"2017-03-01"] {"file":"/home/biennaje/www/public_html/admidio/adm_program/modules/lists/lists_show.php","line":720,"class":null,"function":null}
[2017-06-06 18:20:33] Admidio.CRITICAL: FEHLER >>>> [{"mem_leader":"0","0":"0","usr_id":"790","1":"790","usd_value":"2016-12-30","2":"Bachmann","3":"Florian","4":"560.00","5":"2016-12-30"},5,"2016-12-30"] {"file":"/home/biennaje/www/public_html/admidio/adm_program/modules/lists/lists_show.php","line":720,"class":null,"function":null}
[2017-06-06 18:20:33] Admidio.CRITICAL: FEHLER >>>> [{"mem_leader":"0","0":"0","usr_id":"557","1":"557","usd_value":"2016-12-08","2":"Ballif","3":"Silas","4":"180.00","5":"2016-12-08"},5,"2016-12-08"] {"file":"/home/biennaje/www/public_html/admidio/adm_program/modules/lists/lists_show.php","line":720,"class":null,"function":null}
[2017-06-06 18:20:33] Admidio.CRITICAL: FEHLER >>>> [{"mem_leader":"0","0":"0","usr_id":"661","1":"661","usd_value":"19.12.2016","2":"Baumann","3":"Jerry","4":"180.00","5":"19.12.2016"},5,"19.12.2016"] {"file":"/home/biennaje/www/public_html/admidio/adm_program/modules/lists/lists_show.php","line":720,"class":null,"function":null}

Wenn ich das Mitglied Affolter Philippe aufrufe und den Datensatz anschaue sieht der gut aus.
Was mich jedoch irritiert ist das Datum in der Form 2017-03-01. Wenn ich den Satz öffne wird mir 01.03.2017 angezeigt
Da vermute ich wohl den Fehler, aber wie kann ich das Datum korrigieren?

Um eine Hilfe wäre ich Euch sehr dankbar.
Liebe Grüsse

Gérald Koehn
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von XimeX »

Genau anders rum ist es falsch.

Code: Alles auswählen

[2017-06-06 18:20:33] Admidio.CRITICAL: FEHLER >>>> [{"mem_leader":"0","0":"0","usr_id":"661","1":"661","usd_value":"19.12.2016","2":"Baumann","3":"Jerry","4":"180.00","5":"19.12.2016"},5,"19.12.2016"] {"file":"/home/biennaje/www/public_html/admidio/adm_program/modules/lists/lists_show.php","line":720,"class":null,"function":null}

Code: Alles auswählen

DateTime::createFromFormat('Y-m-d', $member[$sqlColumnNumber])
Hier sieht man welches format er braucht. Jedoch ist das eine mal das datum "d.m.Y" und nicht "Y-m-d". Deshalb kann er kein Datumsobject erstellen das dann natürlich auch nicht die methode ->format(...) hat. Jetzt ist die Frage warum hier ein falsches format vom datum kommt.

Hast du es auch schonmal mit einem anderen Browser probiert. Welche IE version war das?
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

IE 11
Google Chrome = gleiches Problem
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

Habe jetzt einen Satz den es als Fehler im LogFile ausgibt in Admidio komplett gelöscht und anschliessend wieder neu angelegt.
Das einzelne Speichern und öffnen geht auch problemlos. Auch die Listen funktionieren solange man kein Datumsfeld drin hat.
Nachdem der Satz komplett neu angelegt war, hat er mir beim Aufruf der Liste gleich wieder den Fehler gebracht.

Ich denke nicht, dass es ein Problem des Browsers ist, sondern ein Problem des Listenmoduls mit der Kombination von Datumsfeldern.

Ich hoffe, dass eine Lösung gefunden werden kann. Denn wir sollten dringend Listen erzeugen, die wir dadurch nicht erzeugen können.
Liebe Grüsse
Gérald
Prius_23
Beiträge: 16
Registriert: 21. Jan 2015, 10:11

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von Prius_23 »

Hallo zäme,
Konnte jetzt Fehler in der Demorganisation von Admidio nachstellen.
Wenn ich diese Liste aufruft, dann kommt derselbe Fehler, wie bei uns.

Ich weiss jetzt auch wie es zustande kam.

Habe neues Feld aufgenommen, dieses fälschlicherweise als Text 100 angelegt.
Danach es in Datum geändert.
Wenn man dann dieses Datum in eine Liste aufnimmt, dann kommt es zu dem Fehler.

Wenn man Datentypen ändern kann, dann sollte es auf der DB auch entsprechend initialisiert werden, so dass es nicht beim aufrufen einer Liste zum Fehler kommt.
Dateianhänge
Resultat des Fehlers
Resultat des Fehlers
Fehler2.png (16.66 KiB) 12520 mal betrachtet
So selektiert man die Liste
So selektiert man die Liste
Fehler_Datum.png (66.76 KiB) 12520 mal betrachtet
Benutzeravatar
fasse
Administrator
Beiträge: 6167
Registriert: 12. Nov 2005, 16:06

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von fasse »

Hmm ich bekomme es dennoch nicht nachgestellt.

Hast du schon Werte erfasst, nachdem du es als Textfeld hattest oder erst nachdem du es zum Datumfeld gemacht hast?
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Http Fehler 500 bei Starten Liste mit Datum

Beitrag von XimeX »

Für mich ergibt es nur Sinn wenn:
  • Feld erstellt mit TEXT 100
  • Werte eingetragen (zb 01.01.2000)
  • Feld geändert in DATUM
Dann ist es logisch das es zu dem Fehler kommt

@Fasse: sollten wir das abfangen? Also wenn man eine Spalte vom Type her ändern will und das Format nicht passend ist?
Antworten