Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision |
de:create:debugging [26.06.2017 13:11] – admin | de:create:debugging [21.02.2020 18:07] – [Beispiel] peter.vollmer |
---|
===== Fehlersuche im PHP-Code ===== | ===== Fehlersuche im PHP-Code ===== |
| |
Starten Sie den Fragebogen im Debug-Modus, indem Sie bei **Fragebogen zusammenstellen** auf den gelben Pfeil {{:button.debug.gif?nolink|Debugging des Frgaebogens}} klicken. Verwenden Sie den gelben Pfeil mit vorgestelltem Strich {{:button.debug.here.gif?nolink|Debugging ab aktueller Seite}}, um den Debug-Modus ab einer bestimmten Seite zu starten. | Starten Sie den Fragebogen im Debug-Modus, indem Sie bei **Fragebogen zusammenstellen** auf den gelben Pfeil {{:button.debug.gif?nolink|Debugging des Fragebogens}} klicken. Verwenden Sie den gelben Pfeil mit vorgestelltem Strich {{:button.debug.here.gif?nolink|Debugging ab aktueller Seite}}, um den Debug-Modus ab einer bestimmten Seite zu starten. |
| |
Im Debugging-Modus haben Sie oben eine zusätzliche Steuerleiste (Debug-Leiste) und Sie sehen neben den Fragen zusätzlich Informationen. | * Im Debug-Modus ({{:button.debug.gif?nolink|Debug-Modus}}) und im Vorschau-Modus ({{:button.run.gif?nolink|Vorschau-Modus}}) sehen Sie Warnungen (orange) und Hinweise (gelb) auf mögliche Probleme, die im normalen Fragebogen nicht angezeigt werden (z.B. wenn Sie ''value()'' auf eine Variable anwenden, die noch nicht abgefragt wurde). |
| * Im Debug-Modus wird neben jeder Frage deren Kennung und Beschreibung anzeigt. Fahren Sie mit dem Mauszeiger über die Beschreibung, so können Sie in einem Eingabefeld Notizen zur Frage machen. Diese werden auch im **Fragenkatalog** angezeigt, wenn Sie eine Frage zum Bearbeiten öffnen. |
| * Im Debug-Modus haben Sie oben eine zusätzliche Steuerleiste (Debug-Leiste) und Sie sehen neben den Fragen zusätzlich Informationen. |
| |
{{:de:create:scr.debug.bar.png?nolink|Debug-Leiste}} | {{:de:create:scr.debug.bar.png?nolink|Debug-Leiste}} |
Hier helfen nun die Informationen, welche der Debugging-Modus liefert ([[#debug-information|Debug-Information]]). Diese zeigen, dass der Befehl ''[[:de:create:functions:text]]'' gar nicht ausgeführt wird, das ''goToPage()'' aber schon. Am Filter kann es also nicht liegen, dieser funktioniert. | Hier helfen nun die Informationen, welche der Debugging-Modus liefert ([[#debug-information|Debug-Information]]). Diese zeigen, dass der Befehl ''[[:de:create:functions:text]]'' gar nicht ausgeführt wird, das ''goToPage()'' aber schon. Am Filter kann es also nicht liegen, dieser funktioniert. |
| |
Ein Blick in die Anleitung des Befehls ''[[:de:create:functions:gotopage]]'' verrät daraufhin, dass dieser direkt zur angegeben Seite springt und dann nichts mehr von der aktuellen Seite ausgeführt wird, in diesem Beispiel also auch nicht das ''text()''. Kennt man die Ursache, ist die Lösung einfach: Das ''text()'' muss vior das ''goTopage()''. | Ein Blick in die Anleitung des Befehls ''[[:de:create:functions:gotopage]]'' verrät daraufhin, dass dieser direkt zur angegeben Seite springt und dann nichts mehr von der aktuellen Seite ausgeführt wird, in diesem Beispiel also auch nicht das ''text()''. Kennt man die Ursache, ist die Lösung einfach: Das ''text()'' muss vor das ''goTopage()''. |
| |
<code php> | <code php> |