0 votes
in SoSci Survey (dt.) by s119083 (130 points)

Hallo an alle,

in meinem Fragebogen sind 6 Fragen. In einer Art Übersichtsseite werden über Paltzhalter-Funktionen die Antworten der Befragten als Kontrolle angezeigt. Bislang verlief das ohne Probleme. Jetzt plötzlich werden bei 2 von 4 Fragen die Antworten nicht mehr auf der Übersichtsseite angezeigt und fehlen auch in der automatisch generierten Mail.
Der Php-Code lautet wie folgt:

replace('%Titel%', 'Titel', 'response'); replace('%Name%', 'Name', 'response'); replace('%Inst%', 'Inst', 'response'); replace('%Mail%', 'Mail', 'response');
replace('%DO_T%', 'DO_T', 'response'); replace('%FR_T%', 'FR_T', 'response'); replace('%SA_T%', 'SA_T', 'response');
replace('%DO_E%', 'DO_E', 'response'); replace('%FR_E%', 'FR_E', 'response'); replace('%SA_E%', 'SA_E', 'response');
replace('%Status%', 'Status', 'response');
replace('%Vortrag%', 'Vortrag', 'response');
replace('%Autor%', 'Autor', 'response'); replace('%Vortragsp%', 'Vortragsp', 'response'); replace('%Titel_V%', 'Titel_V', 'response');replace('%Abstract%', 'Abstract', 'response');

Bislang hat der auch funktioniert, nur plötzlich werden die Antworten der 3. bis inkl. 6. Zeile nicht mehr angezeigt. Die Kürzel wie DO_T stimmen natürlich mit den Variablen aus der entsprechenden Frage überein.

Wieso tritt plötzlich dieses Problem auf?

by SoSci Survey (327k points)
Das klingt so, als würde SoSci Survey die Variablen nicht mehr finden - andererseits müsste dann eine Fehlermeldung erscheinen.

Was zeigt denn die Debug-Information der betroffenen Seite?
by s119083 (130 points)
Richtig, Fehlermeldungen erscheinen nirgends. Ist ja dem unverständlichen Umstand geschuldet, dass dieselbe Platzhalter Funktion für die anderen Fragen einwandfrei funktionieren.
Beginne ich ab der entsprechenden Seite kommt im Beug-Modus folgende Info: Die Variable A003_02 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion replace() keinen Antwort-Wert ermitteln.

Dies ist ja logisch, da ich ja nicht bei entsprechenden Seite angefangen habe. Nichtsdestotrotz funktionieren ja die Platzhalter bei den anderen Fragen.
by SoSci Survey (327k points)
Wenn Sie den Fragebogen im Debug-Modus ausfüllen (oder unter "Erhobene Daten" -> "Daten ansehen" einen Fragebogen wiederaufnehmen, der im Debug-Modus ausgefüllt wurde), was zeigt denn denn die Debug-Information auf der Übersichtsseite, wo das Problem auftritt?
by s119083 (130 points)
Leider gar nichts, weswegen ich mich an den Support gewendet habe.

Es wird einfach nichts angezeigt, woran es liegen könnte.
Der identische PHP-Code hatte ja auch bis zuletzt funktioniert.  SoSci erkennt wohl den Fehler selber nicht erstmal.
by SoSci Survey (327k points)
Die Debug-Informationen finden Sie rechts oben, wenn Sie den Fragebogen im Debug-Modus ausfüllen, vgl. https://www.soscisurvey.de/help/doku.php/de:create:debugging
by s119083 (130 points)
Vielen Dank für die neue Nachricht. Ich bin im Klaren, wo diese Debug-Informationen zu finden sind. Leider zeigen die mir keinerlei Fehlermeldungen an bzw. wird auch dort für die 2 Fälle der Platzhalter nicht korrekt angezeigt und bleibt leer, während bei den anderen Fällen mit identischem PHP-Code die korrekten Platzhalter auch im Debug-Modus und in den Debug-Informationen angezeigt werden. Leider gibt es keine Fehlermeldung oder sonstige Informationen zu den 2 anderen Platzhaltern, die einfach leer bleiben.
by SoSci Survey (327k points)
> bzw. wird auch dort für die 2 Fälle der Platzhalter nicht korrekt angezeigt und bleibt leer

Wenn Sie bitte die vollständige Debug-Information der Seite posten möchten, kann ich mir genauer ansehen, was passiert. Zum Beispiel eben, dass es schon beim Setzen der Platzhalter hakt.

> während bei den anderen Fällen mit identischem PHP-Code die korrekten Platzhalter auch im Debug-Modus und in den Debug-Informationen angezeigt werden

In der Debug-Information ist auch ersichtlich, welcher Fall gerade aktiv ist. Auf Basis dieser Information können Sie unter "Erhobene Daten" -> "Daten ansehen" überprüfen, ob überhaupt Werte für die betroffenen Variablen vorliegen.

Außerdem könnten Sie testweise mal ein debug('Name') auf der Seite ergänzen, um einen anderen Blick auf die Daten zu bekommen.
by s119083 (130 points)
edited by SoSci Survey
Diese Informationen beinhaltet der Debug-Modus:


[Information]    Interview Nummer 513 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt Anmeldung_AK_Agrifood_Handelsgeo wird verwendet
[Information]    Die Verweildauer auf Seite 2 war 318 Sekunden
[Verarbeitung]    Erstelle Seite 2 in Fragebogen base
[Inhalt]    Zeige Text Titel1
[Inhalt]    Zeige Text PHP
[Inhalt]    Erstelle Frage A009
[Inhalt]    Erstelle Frage A012
[Information]    Folgende Platzhalter sind vorbereitet:
%DO_T% = (Text)
%FR_T% = (Text)
%SA_T% = (Text)
%DO_E% = (Text)
%FR_E% = (Text)
%SA_E% = (Text)
%Titel% = (Text) B.Sc.
%Name% = (Text) <snip>
%Inst% = (Text) Uni Wü
%Mail% = (Text) uniwü@uniwü.de
%Status% = (Text) Student*in / Doktorand*in /...



Dabei sind die Kürzel DO_T usw. die fehlerhaften Php-Platzhalter, da diese die Antworten zu den Tagungstagen und zum Mittagessen mitnehmen müsste.

Im Fragebogen sieht es nämlich so aus:
 
Persönliche Daten:

B.Sc. <snip>, Uni Wü, uniwü@uniwü.de



Teilnahmedaten:

Tagungstage:         
Mittagessen:         
Teilnahme als: Student*in / Doktorand*in / Geringverdiener*in: 35 Euro (ermäßigte Teilnahme)



Die Daten als solches sieht einwandfrei in der Datenansicht verfügbar, nur das Anzeigen mitten im Fragebogen hakt.
by SoSci Survey (327k points)
Die Daten werden auf Seite 1 abgefragt? Welche Kennung hat denn die zugehörige Frage ("Teilnahmedaten")? Könnten Sie bitte noch die Debug-Information von Seite 1 und 2 posten, wenn Sie diese nacheinander ausfüllen? Danke.
by s119083 (130 points)
Vielen Dank erneut.
Hier die Infos aus Seite 1, bei der alle Antworten für die Php-Codes generiert werden:


[Information]    Interview gestartet (neue Nummer 521)
[Information]    Der Fragebogen base im Projekt Anmeldung_AK_Agrifood_Handelsgeo wird verwendet
[Verarbeitung]    Erstelle Seite 1 in Fragebogen base
[Inhalt]    Zeige Text Titel0
[Inhalt]    Erstelle Frage A001
[Inhalt]    Erstelle Frage A002
[Inhalt]    Erstelle Frage A003
[Inhalt]    Erstelle Frage A004


Hier die Debug-informationen nach Ausfüllen der 1. Seite und Weiter auf die zweite:

[Information]    Interview Nummer 521 wird fortgesetzt
[Information]    Der Fragebogen base im Projekt Anmeldung_AK_Agrifood_Handelsgeo wird verwendet
[Information]    Die Verweildauer auf Seite 1 war 79 Sekunden
[Verarbeitung]    Lese Antworten von Seite 1
[Information]    Antwort auf A001_01 = B.Sc.
[Information]    Antwort auf A001_02 = Thomas
[Information]    Antwort auf A001_03 = Uni wü
[Information]    Antwort auf A001_04 = uniwü@uniwü.de
[Information]    Antwort auf A002_01 = 2
[Information]    Antwort auf A002_02 = 2
[Information]    Antwort auf A002_03 = 2
[Information]    Antwort auf A002 = 3
[Information]    Antwort auf A003_01 = 2
[Information]    Antwort auf A003_02 = 2
[Information]    Antwort auf A003_03 = 2
[Information]    Antwort auf A003 = 3
[Information]    Antwort auf A004 = 1
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 2 in Fragebogen base
[Inhalt]    Zeige Text Titel1
[Inhalt]    Zeige Text PHP
[Inhalt]    Erstelle Frage A009
[Inhalt]    Erstelle Frage A012
[Information]    Folgende Platzhalter sind vorbereitet:
%DO_T% = (Text)
%FR_T% = (Text)
%SA_T% = (Text)
%DO_E% = (Text)
%FR_E% = (Text)
%SA_E% = (Text)
%Titel% = (Text) B.Sc.
%Name% = (Text) Thomas
%Inst% = (Text) Uni wü
%Mail% = (Text) uniwü@uniwü.de
%Status% = (Text) Student*in / Doktorand*in /...



Man sieht die ausgewählten Antworten der Frage A002 und A003, im Platzhalter findet die leider keine Anwendung.

Besten Dank im Voraus für Ihre Hilfe
by SoSci Survey (327k points)
Hmm ... könnten Sie mir aus der "Variablen-Übersicht" bitte noch den Teil posten, der für A001 bis A003 angezeigt wird? Danke.
by s119083 (130 points)
Hier die Informationen aus der Variablenübersicht für Fragen A001 bis A003, wobei die PHP Codes für A001 funktionieren.


Rubrik A0: Anmeldebogen

[A001] Texteingabe offen

Persönliche Informationen

"Bitte geben Sie Ihre persönlichen Informationen zur Anmeldung an!"

Titel [01] Titel
Name ![02] vollständiger Name
Inst [03] Institution
Mail ![04] E-Mail-Adresse
Offene Texteingabe



[A002] !Mehrfachauswahl

Teilnahme Tagung

"Ich nehme an folgenden Tagen an der Tagung teil:"

Teilnahme Teilnahme Tagung: Ausweichoption (negativ) oder Anzahl ausgewählter Optionen
Ganze Zahl

DO_T [01] Donnerstag, 25. April (ab 12:00 Uhr)
FR_T [02] Freitag, 26. April (ganztägig)
SA_T [03] Samstag, 27. April (bis ca. 14:00 Uhr)
1 = nicht gewählt
2 = ausgewählt



[A003] Mehrfachauswahl

Mittagessen

"Ich nehme an folgenden Mittagessen (im Tagungspreis enthalten) teil:"

Essen Mittagessen: Ausweichoption (negativ) oder Anzahl ausgewählter Optionen
Ganze Zahl

DO_E [01] Donnerstag, 25. April
FR_E [02] Freitag, 26. April
SA_E [03] Samstag, 27. April
1 = nicht gewählt
2 = ausgewählt
by SoSci Survey (327k points)
Das sieht auf den ersten Blick danach aus, dass spezifisch die Mehrfachauswahl mit replace() nicht zusammenspielt. Wir sehen uns das genauer an. Sie können derweil mal

replace('%Teilnahme%', 'A002', 'response');

ausprobieren.

1 Answer

+1 vote
by SoSci Survey (327k points)
selected by s119083
 
Best answer

Danke für den Hinweis und die Details. Es gab in der Tat einen Programmfehler, welcher dazu führte, dass replace() für Mehrfachauswahl-Items keine Beschriftung lieferte.

Dieses Problem ist nunmehr behoben.

Außerdem verweise ich nochmal auf die Option, dass man sich auch eine (Komma-separierte) Liste der ausgewählten Optionen anzeigen lassen kann, wenn man die Kennung der Mehrfachauswahl angibt.

replace('%Teilnahme%', 'A002', 'response');
by s119083 (130 points)
Vielen herzlichen Dank für dieses intensive Begleitung und Behebung des Fehlers. Die Lösung scheint sehr einleuchtend zu sein!! Danke!

Dass replace() für Mehrfachauswahl-Items keine Beschriftung lieferte, ist auch erstaunlich, weil es anfangs mit erwähnten PHP-Code oben trotzdem funktionierte.

Aber nun habe ich eine dauerhafte Lösung!
Danke
by SoSci Survey (327k points)
Ich müsste in die Revisionshistorie gehen, um den genauen Zeitpunkt herauszufinden, wann sich an den entsprechenden Code-Stellen etwas geändert hat. Aber es gab mit einem der letzten Updates eine Zusammenlegung von redundanten Code-Bereichen, die sich um die Zuordnung von Texten zu Codes befassen. Ich vermute stark, dass das den Fehler verursacht hat.

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

...