Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:debugging [26.06.2017 13:18] – [Fehlersuche im PHP-Code] adminde:create:debugging [28.07.2022 22:02] (aktuell) admin
Zeile 9: Zeile 9:
   * ... ob in Variablen das gespeichert ist, was man erwartet hätte (inhaltliche Fehler).   * ... ob in Variablen das gespeichert ist, was man erwartet hätte (inhaltliche Fehler).
  
-Formale Fehler sind am einfachsten zu finden: Wenn ein Strichpunkt am Ende eines Befehls fehlt oder eine Klammer (Syntaxfehler), dann wird der Programmcode gar nicht erst ausgeführt. SoSci Survey zeigt dann eine Fehlermeldung, bei JavaScript muss man erst einmal die Fehlerkonsole öffnen.+Formale Fehler sind am einfachsten zu finden: Wenn ein Strichpunkt am Ende eines Befehls fehlt oder eine Klammer (Syntaxfehler), dann wird der Programmcode gar nicht erst ausgeführt. SoSci Survey zeigt dann eine Fehlermeldung, bei JavaScript muss man erst einmal die [[:de:general:browser-tools|Fehlerkonsole]] öffnen.
  
 Inhaltliche Fehler sind schwieriger zu finden. Denn hier arbeitet der Code, führt aber nicht zum erwünschten Ergebnis. Dann hilft die Anzeige, was im Hintergrund passiert (s. [[#beispiel|Beispiel]]). Inhaltliche Fehler sind schwieriger zu finden. Denn hier arbeitet der Code, führt aber nicht zum erwünschten Ergebnis. Dann hilft die Anzeige, was im Hintergrund passiert (s. [[#beispiel|Beispiel]]).
Zeile 124: Zeile 124:
 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>
Zeile 138: Zeile 138:
 Während PHP-Code von SoSci Survey auf dem Befragungsserver ausgeführt wird, läuft [[de:create:javascript|JavaScript]] im Browser beim Teilnehmer. Entsprechend ist der Browser auch dafür verantwortlich, Fehler und Informationen anzuzeigen. Während PHP-Code von SoSci Survey auf dem Befragungsserver ausgeführt wird, läuft [[de:create:javascript|JavaScript]] im Browser beim Teilnehmer. Entsprechend ist der Browser auch dafür verantwortlich, Fehler und Informationen anzuzeigen.
  
-Dafür wird die Fehlerkonsole des Browsers benötigt. Diese findet man -- je nach Browser -- an unterschiedlicher Stelle ([[http://webmasters.stackexchange.com/a/77337/30902|Shortcuts (engl.)]], [[https://codex.wordpress.org/Using_Your_Browser_to_Diagnose_JavaScript_Errors#Step_3:_Diagnosis|Wordpress (engl.)]], [[http://www.stramaxon.com/2013/10/developer-tools-in-browser.html|How to Open Developer Tools (engl.)]]).+Dafür wird die Fehlerkonsole des Browsers benötigt: [[:de:general:browser-tools]]
  
 Verwenden Sie den Befehl ''console.log()'', um zusätzliche Informationen in der Fehlerkonsole anzuzeigen. So würde der folgende JavaScript-Code z.B. nach einem Element mit der HTML-ID "AB01_01" suchen -- und in der Fehlerkonsole anzeigen, was er gefunden hat. Verwenden Sie den Befehl ''console.log()'', um zusätzliche Informationen in der Fehlerkonsole anzuzeigen. So würde der folgende JavaScript-Code z.B. nach einem Element mit der HTML-ID "AB01_01" suchen -- und in der Fehlerkonsole anzeigen, was er gefunden hat.
de/create/debugging.1498475893.txt.gz · Zuletzt geändert: 26.06.2017 13:18 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki