0 votes
in SoSci Survey (dt.) by s109993 (12.0k points)
edited by s109993

Ich will einen Wert von der URL nehmen (über einen iframe) und als Platzhalter einsetzen:

$pid2 = readGET('pd01052'); 
replace('%pd01052%', $pid2);


Das steht in der Reihenfolge auf einer Seite, die Frage in welcher der Platzhalter verwendet wird steht darunter- funktioniert allerdings nicht. Muss der readGET() schon eine Seite vorher passieren oder wo könnte das Problem liegen?

1 Answer

0 votes
by SoSci Survey (327k points)

readGET() kann generell nur auf der Seite verwendet werden, welche mit der URL aufgerufen wird. Das ist in der Regel die erste Seite des Fragebogens.

Am einfachsten nutzen sie eine Frage "Gerät und übermittelte Variablen", und platzieren Sie diese auf der ersten Seite des Fragebogens.

Alternativ können Sie das readGET() und replace() auf der ersten Seite platzieren.

by s109993 (12.0k points)
edited by s109993
Zwei Folgefragen:

hier wird quasi die 3te Seite über einen iframe (von Limesurvey) und Direktlink aufgerufen. Das müsste doch in diesem Fall dann trotzdem funktionieren?

Wenn ich zum Beispiel einfach einen Direktlink auf Seite 3 generiere(ofb.iea-hamburg.de/neps_adressportal_eltern/?s=9995&l=deu&pagina=3&pd01052=Peter)
dann wird der Platzhalter angezeigt.

Könnte das an dem iframe liegen, dass es nicht funktioniert?


Was ist der Unterschied von meinem Code und dem Fragetyp "Gerät und übermittelte Variablen"?
by SoSci Survey (327k points)
Der Fragetyp "Gerät und übermittelte Variablen" überschreibt den eingelesenen Wert nicht, wenn die Seite aufgrund fehlender Antworten (oder aus anderen Gründen) wiederholt angezeigt wird. Außerdem sieht man das Ergebnis direkt in der Debug-Information.

> hier wird quasi die 3te Seite über einen iframe (von Limesurvey) und Direktlink aufgerufen.

Auf der Seite, auf welcher readGET() oder der o.g. Fragetyp platziert wurde, muss der URL-Parameter zur Verfügung stehen. Wenn das auf Seite 3 des Fragebogens erfolgt, dann funktioniert es auch auf Seite 3. Wie funktioniert es denn, dass Sie im externen Tool den Link zur Seite 3 haben/bekommen?
by s109993 (12.0k points)
Sie haben mir den Code zur Verfügung gestellt für SoSci, sodass wir von LimeSurvey eine Seite Direkt in SoSci aufrufen können:

if (readGET('pagina', false) == 1) {
  goToPage('pagina1');
}

if (readGET('pagina', false) == 2) {
  goToPage('pagina2');
}
if (readGET('pagina', false) == 3) {
  goToPage('pagina3');
}
if (readGET('pagina', false) == 4) {
  goToPage('pagina4');
}
if (readGET('pagina', false) == 6) {
  goToPage('pagina6');
}
if (readGET('pagina', false) == 7) {
  goToPage('pagina7');
}
if (readGET('pagina', false) == 8) {
  goToPage('pagina8');
}


Wir haben quasi folgendes Layout: LimeSurvey -> SoSci Seite 1 -> Lime Survey -> SoSci Seite 2 -> Lime Survey -> SoSci Seite 3 . SoSci wird dabei immer über einen iframe in Lime Survey eingebunden
by SoSci Survey (327k points)
Okay, das readGET() scheint hier ja bereits gut zu funktionieren :)

Und ja, wenn Sie direkt mittels goToPage() zur Seite 3 springen, sollte readGET() auch dort noch korrekt funktionieren. Alternativ können Sie es direkt auf dieser Seite ganz oben platzieren, zusammen mit dem replace().
by s109993 (12.0k points)
Gut, ich habe es mal mit einem Testlink ausprobiert:
ofb.iea-hamburg.de/neps_adressportal_eltern/?s=9992&l=deu&pagina=3&pd01052=Klaus

welcher den Platzhalter richtig anzeigt. Das heißt,  irgendetwas in LimeSurvey im iframe verhindert, dass SoSci sich den Namen aus der URL nehmen kann.
by SoSci Survey (327k points)
Was zeigt die Netzwerk-Aufzeichnung in den Developer Tools gleich wieder an zu dem iframe-Aufruf? Sicher, dass der Parameter genau in der Form übergeben wird?

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

...