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:php [06.06.2017 13:22] – [Variablen] adminde:create:php [21.03.2026 10:58] (aktuell) – [PHP-Code im Fragebogen verwenden] admin
Zeile 6: Zeile 6:
  
 Dieses Kapitel versucht, einen kleinen Einstieg in die Programmierung mit PHP zu geben. Keine breite Einführung in die Programmiersprache, sondern nur gerade so viel, wie man für fortgeschrittene Fragebögen und/oder Filter braucht. Dieses Kapitel versucht, einen kleinen Einstieg in die Programmierung mit PHP zu geben. Keine breite Einführung in die Programmiersprache, sondern nur gerade so viel, wie man für fortgeschrittene Fragebögen und/oder Filter braucht.
 +
 +**Tipp:** [[https://www.soscisurvey.de/homepage/index.php?id=screencast#extra|Video-Tutorial zu PHP-Code]]
 +
 +**Wichtig:** Falls Sie sich beim PHP-Code von einem KI-Tool helfen lassen möchten, dann verwenden Sie folgenden Prompt und bleiben Sie kritisch, denn KI-Modelle machen häufig Fehler. Sollte der Code länger sein als ein paar Zeilen, dann gibt es in aller Regel eine viel einfachere Lösung in SoSci Survey.
 +
 +> Ich erstelle einen Fragebogen in SoSci Survey. Bitte lies zuerst die technischen Regeln unter %%https://www.soscisurvey.de/llms.txt%% und beachte diese strikt. Schreibe mir dann einen PHP-Filter, der ...
  
 ===== PHP-Code im Fragebogen verwenden ===== ===== PHP-Code im Fragebogen verwenden =====
Zeile 16: Zeile 22:
  
 Nach dem Einfügen des //PHP-Code//-Elements erscheint im Fragebogen ein Texteingabefeld, in das man PHP-Code eingeben kann. Nach dem Einfügen des //PHP-Code//-Elements erscheint im Fragebogen ein Texteingabefeld, in das man PHP-Code eingeben kann.
 +
 +**Hinweis:** Der PHP-Code wird ausgeführt, sobald die Seite beim Ausfüllen des Fragebogens oder in der Vorschau geöffnet wird.
 +
 +
 +===== Verarbeitung von Antworten mittels PHP-Code =====
 +
 +SoSci Survey erlaubt bei **Fragebogen zusammenstellen** zwei unterschiedliche Eingabefelder für PHP-Code.
 +
 +  - PHP-Code, welcher beim Erstellen der Fragebogen-Seite ausgeführt wird und Inhalte anzeigen kann. Ein solches PHP-Feld erhalten Sie, indem Sie das Element "PHP-Code" von rechts in den Fragebogen ziehen.
 +  - PHP-Code, welcher wer nach dem Klick auf "Weiter" ausgeführt wird, zum Beispiel um die Antworten zu prüfen und/oder mittels ''setNextPage()'' die folgende Fragebogen-Seite festzulegen. Pro Fragebogen-Seite ist nur ein solches Element möglich, Sie erhalten es, indem Sie auf den Knopf "+ Verarbeitung der Antworten mittels PHP" unten auf der Seite klicken. Dieser Knopf erscheint erst, wenn die Seite andere Element enthält.
 +
 +**Wichtig:** Falls Sie eine Fehlermeldung wie die folgende erhalten, dann haben Sie Ihren PHP-Code womöglich in das Feld "Verarbeitung der Antworten mittels PHP" geschrieben und nicht in ein Element "PHP-Code".
 +
 +> Warnung: Die Funktion goToQuestionnaire() ist nicht für die Verarbeitung der Antworten mittels PHP-Code geeignet oder zugelassen.
 +
 +{{:de:create:scr.php-modes.png?nolink|Unterschiedliche Eingabefelder für PHP-Code}}
 +
 +
  
 ===== Bequemer programmieren (Fragen und Texte) ===== ===== Bequemer programmieren (Fragen und Texte) =====
Zeile 53: Zeile 77:
 ===== Variablen ===== ===== Variablen =====
  
-Der Begriff //Funktion// kommt aus der Mathematik. Und der Befehl ''question()'' hat mit einer mathemtischen Funktion noch herzlich wenig zu tun. Aber Funktionen können auch etwas berechnen oder anderweitig ermitteln. So ermittelt der Befehl ''[[:de:create:functions:casenumber|caseNumber()]]'' zum Beispiel die Nummer des laufenden Interviews (CASE).+Der Begriff //Funktion// kommt aus der Mathematik. Und der Befehl ''question()'' hat mit einer mathematischen Funktion noch herzlich wenig zu tun. Aber Funktionen können auch etwas berechnen oder anderweitig ermitteln. So ermittelt der Befehl ''[[:de:create:functions:casenumber|caseNumber()]]'' zum Beispiel die Nummer des laufenden Interviews (CASE).
  
 <code php> <code php>
Zeile 63: Zeile 87:
 In PHP beginnen Variablen immer mit einem Dollar-Zeichen (''$''). Im Beispiel oben gibt es eine Variable ''$num''. Wie man seine Variablen nennt, ist Geschmackssache -- nur Umlaute und Sonderzeichen außer dem Unterstrich (''_'') sind weitgehend verboten. Statt ''$num'' könnte man also genauso ''$variable_fuer_fallnummer'' schreiben. In PHP beginnen Variablen immer mit einem Dollar-Zeichen (''$''). Im Beispiel oben gibt es eine Variable ''$num''. Wie man seine Variablen nennt, ist Geschmackssache -- nur Umlaute und Sonderzeichen außer dem Unterstrich (''_'') sind weitgehend verboten. Statt ''$num'' könnte man also genauso ''$variable_fuer_fallnummer'' schreiben.
  
-Das Istgleich-Zeichen %%(=)%% ist ein //Operator//. Es sorgt dafür, dass das, was die Funktion ''caseNumber()'' zurückgibt in der Variable ''$num'' links vom Operator gespeichert wird. In der Variable ''$zahl'' steht nun also die Interview-Nummer.+Das Istgleich-Zeichen %%(=)%% ist ein //Operator//. Es sorgt dafür, dass das, was die Funktion ''caseNumber()'' zurückgibt in der Variable ''$num'' links vom Operator gespeichert wird. In der Variable ''$num'' steht nun also die Interview-Nummer.
  
 Wenn wir diese Nummer nun auch noch anzeigen möchten, benötigen wir den Befehl ''[[:de:create:functions:html|html()]]''. Diese Funktion macht nichts anderes, als HTML-Code (also z.B. Text) in den Fragebogen zu schreiben. Wenn wir diese Nummer nun auch noch anzeigen möchten, benötigen wir den Befehl ''[[:de:create:functions:html|html()]]''. Diese Funktion macht nichts anderes, als HTML-Code (also z.B. Text) in den Fragebogen zu schreiben.
de/create/php.1496748140.txt.gz · Zuletzt geändert: 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