0 votes
in SoSci Survey (dt.) by s142244 (185 points)
closed by SoSci Survey

Liebes SoSci-Survey-Team,

ich habe eine Fehlermeldung bei der Verwendungen von vielen Platzhaltern in einem Text erhalten, die ich bisher nicht auflösen konnte. Die Fehlermeldung lautet:

"Sie speichern Zusatz-Daten (%trials_experiment%) mit mehr als 2 KB in diesem Interview. Bitte verwenden Sie für umfangreiche Platzhalter den Befehl show() anstatt replace()."

Zum Hintergrund: Die Variable "$trials_experiment" enthält Daten als nested array. Von dort aus werden durchgangsabhängig Informationen herausgelesen und in Platzhalter geschrieben. Es sind insgesamt 13 Platzhalter, die ersetzt werden sollen.

Wie kann ich da vorgehen? Vielen Dank!

closed with the note: Workaround: Warnung wird einfach ignoriert, weil eine hübschere Lösung indem Fall aufwändiger wäre.
by SoSci Survey (308k points)
Haben Sie zum Zwischenspeichern von $trials_experiment die Funktionen registerVariable(), replace() oder set() verwendet?

Die Fehlermeldung legt nahe, dass Sie Sie etws in der folgenden Art machen:
replace('%trials_experiment%', ...) - dies wiederum passt aber nicht zu Ihrer Beschreibung. Daher meine Rückfrage.
by s142244 (185 points)
Vielen Dank für die Nachfrage. Ich hatte mich auch schon bei der Fehlermeldung über die "%"-Zeichen gewundert. Die Daten wurden auf der vorherigen Seite mit "registerVariable()" als array gespeichert. Auf der nachfolgenden Seite wird das i-te Element des arrays aufgerufen und die Inhalte in die Platzhalter geschrieben. "trials_experiment" wird auch nirgendwo als Platzhalter oder im Zusammenhang mit replace() verwendet. Gerne kann ich noch mehr Informationen bereitstellen.
by SoSci Survey (308k points)
Im einfachsten Fall speichern Sie die Variable nicht mittels registerVariable(), sondern definieren sie dort, wo sie benötigt wird. Wenn das mehrere Stellen im Fragebogen sind, legen Sie unte "PHP-Funktionen" eine Funktion an:

function trialData() {
  return [
    // Inhalt den Sie brauchen
  ];
}

Im Fragebogen reicht dann ein $trials_experiment = trialData();

> Gerne kann ich noch mehr Informationen bereitstellen.

Wenn es daran nicht liegt, posten Sie gerne einmal den PHP-Code, den Sie verwenden.
by s142244 (185 points)
Vielen Dank für den Hinweis. Leider ist das beschriebenen Vorgehen für die aktuelle Studie nicht anwendbar, da bestimmte Reihenfolgen sowohl randomisiert als auch systematisch ausgeglichen sein müssen. Ich werde versuchen die Daten in $trials_experiment auf mehrer Variablen zu verteilen.

Ausserdem bin ich auf einen Post aus 2019 gestossen: https://support.soscisurvey.de/?qa=11361/warnungen-php-code. Hier war die Antwort, dass es sich nur um eine Warnung handelt, man aber das Vorgehen verwenden kann. Allerdings habe ich bisher keine Möglichkeit gefunden die Fehlermeldung für die Versuchspersonen zu unterdrücken.
by SoSci Survey (308k points)
>  Allerdings habe ich bisher keine Möglichkeit gefunden die Fehlermeldung für die Versuchspersonen zu unterdrücken.

Das liegt daran, dass die Versuchspersonen die Warnung überhaupt nicht sehen.

Und ja, es ist nur eine Warnung, dass da etwas nicht ganz optimal läuft, keine Fehlermeldung.
by s142244 (185 points)
Ah, vielen Dank. Ich war irritiert, da die Fehlermeldungen auch dann sichtbar waren, wenn man im Vorschau-Modus die Seite aufgerufen hat. Nach dem Start sind die Meldungen aber verschwunden.

Vielen Dank! Damit hat sich mein Problem geklärt.

Freundliche Grüße!

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

...