Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:create:debugging [26.06.2017 12:52] adminde:create:debugging [26.06.2017 13:09] – [Filterfragen] admin
Zeile 11: Zeile 11:
 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 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_1|Beispiel 1]]).+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 66: Zeile 66:
  
  
-=== Filterfragen ===+==== Filterfragen ====
  
 Als Beispiel dient hier eine Fragebogen-Seite mit einem kleinem [[:de:create:filters|Filter]]. Als Beispiel dient hier eine Fragebogen-Seite mit einem kleinem [[:de:create:filters|Filter]].
Zeile 72: Zeile 72:
 {{:de:create:scr.debug.info01source.png?nolink|Beispiel für eine Fragebogen-Seite mit Filter}} {{:de:create:scr.debug.info01source.png?nolink|Beispiel für eine Fragebogen-Seite mit Filter}}
  
-Der Befehl ''value()'' erzeugt automatisch einen Eintrag in der Debug-Information. Sie können obiger Debug-Information z.B. entnehmen, dass der PHP-Code den Befehl ''value('AB10')'' verwendet hat und dass dieser den Wert 2 zurücklieferte.+Der Befehl ''value()'' erzeugt automatisch einen Eintrag in der Debug-Information. Sie können der [[#debug_information|Debug-Information]] entnehmen, dass der PHP-Code den Befehl ''value('AB10')'' verwendet hat und dass dieser den Wert 2 zurücklieferte. 
 + 
 +{{ :de:create:scr.debug.info01.png?nolink |Debug-Information zur Filterfrage}}
  
 Weiterhin sehen wir, dass die Frage "AB09" angezeigt wird, nicht aber die Frage "AB05" aus dem Filter -- denn der Wert ''2'', den ''value()'' liefert, entspricht ja nicht dem Wert ''1'', auf welchen der Filter prüft. Weiterhin sehen wir, dass die Frage "AB09" angezeigt wird, nicht aber die Frage "AB05" aus dem Filter -- denn der Wert ''2'', den ''value()'' liefert, entspricht ja nicht dem Wert ''1'', auf welchen der Filter prüft.
  
  
-=== Variablen ===+==== Variablen ====
  
 Mit dem Befehl ''[[:de:create:functions:debug]]'' können Sie den Wert beliebiger Variablen im Datensatz oder im PHP-Code anzeigen. Als Beispiel dient folgende Fragebogen-Seite, die aus der offenen Texteingabe des Teilnehmers in "AB11_01" einen neuen Wert berechnet und in einem Filter verwendet. Mit dem Befehl ''[[:de:create:functions:debug]]'' können Sie den Wert beliebiger Variablen im Datensatz oder im PHP-Code anzeigen. Als Beispiel dient folgende Fragebogen-Seite, die aus der offenen Texteingabe des Teilnehmers in "AB11_01" einen neuen Wert berechnet und in einem Filter verwendet.
Zeile 87: Zeile 89:
 Im Debug-Modus erzeugt ''debug()'' eine Ausgabe sowohl im Fragebogen als auch in der Debug-Information. Im normalen Interview sieht man davon nichts. Im Debug-Modus erzeugt ''debug()'' eine Ausgabe sowohl im Fragebogen als auch in der Debug-Information. Im normalen Interview sieht man davon nichts.
  
-{{:de:create:scr.debug.info02.png?nolink|}}+{{ :de:create:scr.debug.info02.png?nolink |}}
  
 Beim ersten Aufruf von ''debug()'' teilt SoSci Survey zunächst pflichtbewusst mit, dass der Parameter eine String mit dem Inhalt "AB11_01" ist. Darüber hinaus wird erkannt, dass es sich dabei um die Kennung einer Variable aus dem Datensatz handelt, deshalb zeigt es automatisch den Wert aus dem Datensatz (6) an. Beim ersten Aufruf von ''debug()'' teilt SoSci Survey zunächst pflichtbewusst mit, dass der Parameter eine String mit dem Inhalt "AB11_01" ist. Darüber hinaus wird erkannt, dass es sich dabei um die Kennung einer Variable aus dem Datensatz handelt, deshalb zeigt es automatisch den Wert aus dem Datensatz (6) an.
Zeile 94: Zeile 96:
  
  
-==== Beispiel 1 ====+==== Leere Seiten ==== 
 + 
 +Wenn eine Fragebogen-Seite keine Inhalt zeigt, springt SoSci Survey automatisch weiter zur nächsten Seite. Dies passiert z.B. wenn Fragen nur in Abhängigkeit eines Filters angezeigt werden. Im folgenden Beispiel wird Frage "AB05" nur angezeigt, wenn der Teilnehmer in der Auswahl AB10 den Wert auswählte. 
 + 
 +{{:de:create:scr.debug.info03source.png?nolink|Eine Fragebogenseite, die u.U. leer bleibt}} 
 + 
 +In der Debug-Information ist nicht nur ersichtlich, dass und weshalb die Frage "AB05" nicht angezeigt wird, sondern auch dass es automatisch mit der nächsten Seite Nr. 4 weitergeht. 
 + 
 +{{ :de:create:scr.debug.info03.png?nolink |beispiel}} 
 + 
 +Darüber hinaus ist links oben an der Seitennummer "3+4" erkennbar, dass die Seiten 3 und 4 gemeinsam angezeigt werden. Diese Anzeige erhält man auch, wenn man ''[[:de:create:functions:gotopage]]'' verwendet: Dieser Befehl springt aus einer Fragebogenseite hinaus direkt zu einer anderen. 
 + 
 + 
 +==== Beispiel ====
  
 Folgender PHP-Code sollte ab einem Summenwert von 25 zu einer anderen Fragebogen-Seite springen und dort (über den weiteren Fragen) einen Text anzeigen -- aber vom Text ist nichts zu sehen: Folgender PHP-Code sollte ab einem Summenwert von 25 zu einer anderen Fragebogen-Seite springen und dort (über den weiteren Fragen) einen Text anzeigen -- aber vom Text ist nichts zu sehen:
de/create/debugging.txt · Zuletzt geändert: 28.07.2022 22:02 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