0 votes
in SoSci Survey (dt.) by s278705 (305 points)

Liebes Support-Team,
ich habe in meinem Befragungsprojekt mehrere Fragebögen, die zB eine Navigationsleiste oder andere gleiche Elemente enthalten. Den PHP-Code für die Navigation habe ich beim Fragebogen unter "PHP-Funktionen" eingefügt und rufe ihn dann auf jeder Fragebogen-Seite auf. In einem weiteren Fragebogen möchte ich genau die gleiche Navigationsleiste verwenden, muss dann aber den exakt gleichen Code bei den PHP-Funktionen einfügen. Gibt es eine Möglichkeit, globale PHP-Funktionen zu definieren, die ich Fragebogen-übergreifend aufrufen kann?

Danke und Gruß

1 Answer

+1 vote
by SoSci Survey (331k points)
selected by s278705
 
Best answer

Nein, PHP-Funktionen, welche in unterschiedlichen Fragebögen zur Verfügung stehen, sind aktuell nicht vorgesehen - diese Funktionalität wird nach meinem Kenntnisstand nur äußerst selten benötigt und auch wenn es von der Wartung des PHP-Codes nicht die Premium-Lösung ist, kann man den Inhalte aus dem Karteireiter "PHP-Funktionen" oder einen Teil davon dann einfach in den anderen Fragebogen kopieren.

by s278705 (305 points)
Hm, einfach kopieren scheint bei mir nicht zu reichen, ich musste die Funktionen auch alle umbenennen, sonst erscheinen Fehlermeldungen: "Warnung: Die Funktion ... ist nicht zur Verwendung im Fragebogen freigegeben." & "Die für den Fragebogen definierten PHP-Funktionen konnten aufgrund von Sicherheitsbeschränkungen nicht geladen werden."
by SoSci Survey (331k points)
>  Die Funktion ... ist nicht zur Verwendung im Fragebogen freigegeben.

Könnte es sein, dass Sie die Funktion nicht in ein Element "PHP-Code" eingetragen haben, sondern womöglich in das Feld "Verarbeitung der Antworten mittels PHP"? Ich kann auch nicht ausschließen, dass SoSci Survey die eingefügten Funktionen nicht sofort erkannt hat, sondern z.B. erst nach dem Speichern einer weiteren Änderung. Aber es dürfte kein Problem darstellen, wenn in zwei Fragebogen unter "PHP-Funktionen" Funktionen mit demselben Namen definiert sind. Sollte sich das Problem replizieren lassen, sagen Sie bitte nochmal Bescheid.
by s278705 (305 points)
Ich habe gerade nochmal nachgesehen, aber die Funktion steht in einem Element PHP-Code. Mein Setting ist so, dass ich in einem Projekt mehrere Fragebögen erstellt habe und man bei Abschluss des einen Fragebogens direkt zum zweiten Fragebogen gelangt und hier weitermacht. Wenn ich die Funktion gleich benenne, erscheinen auf der ersten Seite des zweiten Fragebogens folgende Fehlermeldungen:

"Warnung: Die Funktion navigation() ist nicht zur Verwendung im Fragebogen freigegeben."

"Der PHP-Code enthält unzulässige Funktionsaufrufe oder Schlüsselwörter und wurde daher nicht ausgeführt"

"Die für den Fragebogen definierten PHP-Funktionen konnten aufgrund von Sicherheitsbeschränkungen nicht geladen werden."

Auf der ersten Seite wird die Funktion allerdings noch gar nicht verwendet. Wenn ich jetzt allerdings auf die nächsten Seiten gehe, dann sind die Fehlermeldungen weg und der Code funktioniert offenbar! (Also funktioniert es doch, aber nicht sofort?) Lassen sich die Fehlermeldungen auf dieser Seite einfach unterdrücken?
by SoSci Survey (331k points)
Wie erfolgt denn die Weiterleitung zum ersten zum zweiten Fragebogen? Ich könnte mir vorstellen, dass es an dieser Stelle eine Überschneidung im Geltungsbereich der Funktionen gibt. Ein goToQuestionnaire() zum Beispiel führt zugleich die Seite aus dem einen Fragebogen aus und die erste Seite aus dem anderen Fragebogen. Bei einem redirect() ist das hingegen nicht der Fall.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...