0 votes
in SoSci Survey (dt.) by s044369 (210 points)

Guten Tag,

in meinem Fragebogen werden die Versuchspersonen für jede einzelne von 100 Aussagen gefragt:
1. Ob sie diesen Satz vorher schon gesehen haben
2. Wenn sie den Satz schon gesehen haben, welcher von 12 Sprechern ihn gesagt hat.

Das passiert in einem Loop über mehrere Fragebogenseiten, also für jeden Satz n:
Seite 1: Haben Sie n schon gesehen?
Seite 2: Frage auf Seite 1 wird als Filterfrage verwendet: Wenn "ja" auf Seite 1, weiter auf Seite 3. Wenn "nein" auf Seite 1, zurück auf Seite 1 mit der nächsten fortlaufenden Nummer eines arrays, für die nächste Frage: Haben Sie n+1 schon gesehen?
Seite 3: Wer hat n gesagt?

Nach dem letzten Satz erfolgt der Ausstieg aus dem Loop. Das funktioniert alles wunderbar, nur: Eine Fehlermeldung äußert (berechtigte, aber in diesem Fall gegenstandslose) Bedenken an dem Loop, und sie wird auch den Versuchspersonen angezeigt.

Können wir sie vielleicht einfach irgendwie ausblenden?

Vielen Dank und viele Grüße

by SoSci Survey (327k points)
Vermutlich ja, z.B. mit 'code:ifany', aber für eine konkretere Antwort müssten Sie bitte die Fehlermeldung und den zugehörigen PHP-Code (oder zumindest den relevanten Ausschnitt daraus) posten.
by s044369 (210 points)
Super, vielen Dank! Also die Fehlermeldung ist "Dieses Interview versuchte, auf Seite Nr. 21 (Kennung filter) zu springen, die bei der Ausgabe der aktuellen Darstellung bereits verarbeitet wurde."

Der relevante Code müsste folgender sein:
<!-- Seite 18 -->
<page ident="enc" intID="7">
<info>Instruktion 2. Teil (Enkodierung)</info>
<text id="Instruktion neu 11" intID="52">
    <spacing>default</spacing>
</text>
<question id="IN40" intID="53" />
<php intID="50"><![CDATA[
if ($gruppe == 1 OR $gruppe == 2) {
replace('%AQ1%', value('WS07x01', 'label'));
replace('%AQ2%', value('WS07x02', 'label'));
replace('%AQ3%', value('WS07x03', 'label'));
replace('%AQ4%', value('WS07x04', 'label'));
replace('%AQ5%', value('WS07x05', 'label'));
replace('%AQ6%', value('WS07x06', 'label'));
replace('%AQ7%', value('WS05x01', 'label'));
replace('%AQ8%', value('WS05x02', 'label'));
replace('%AQ9%', value('WS05x03', 'label'));
replace('%AQ10%',value('WS05x04', 'label'));
replace('%AQ11%',value('WS05x05', 'label'));
replace('%AQ12%',value('WS05x06', 'label'));
} elseif ($gruppe == 3 OR $gruppe == 4) {
replace('%AQ1%', value('WS07x01', 'label'));
replace('%AQ2%', value('WS07x02', 'label'));
replace('%AQ3%', value('WS07x03', 'label'));
replace('%AQ4%', value('WS07x04', 'label'));
replace('%AQ5%', value('WS07x05', 'label'));
replace('%AQ6%', value('WS07x06', 'label'));
replace('%AQ7%', value('WS09x01', 'label'));
replace('%AQ8%', value('WS09x02', 'label'));
replace('%AQ9%', value('WS09x03', 'label'));
replace('%AQ10%',value('WS09x04', 'label'));
replace('%AQ11%',value('WS09x05', 'label'));
replace('%AQ12%',value('WS09x06', 'label'));
};
$o = array(1);
registerVariable('o');
]]></php>
</page>


<!-- Seite 19 -->
<page ident="WEcatch" intID="39">
<php intID="40"><![CDATA[
//leave empty

if ($o[0] == 97) {goToPage('WEout');};
]]></php>
</page>


<!-- Seite 20 -->
<page ident="AQpre" intID="41">
<php intID="44"><![CDATA[
$pseudo_random = array(73,49,43, 3,31,50,27, 1,74,21,17,51,39,40,35,47,52,53,48,13,75,11,76,54, 4,44,15,77,36,78,79,80,81,23,82,55,22,25,83,33,56,57,58,37,16,59, 9,60,61,84,45,85,34,86,87,88,62,63,64,65,66,41,29, 5,89,38, 7,67,19,68,69,14,24,28,10, 8,90,12,70,42,91,46,92,20,93,94, 2,18,32,71, 6,95,96,26,72,30);

for ($i = 0; $i <= 95; $i++) {
  if ($o[0] ==  $i+1) {question('WE07',$pseudo_random[$i]);};
}
]]></php>
</page>


<!-- Seite 21 -->
<page ident="filter" intID="42">
<php intID="45"><![CDATA[
array($o[0]);

$item_name = array("WE07_73", "WE07_49", "WE07_43", "WE07_03", "WE07_31", "WE07_50", "WE07_27", "WE07_01", "WE07_74", "WE07_21", "WE07_17", "WE07_51", "WE07_39", "WE07_40", "WE07_35", "WE07_47", "WE07_52", "WE07_53", "WE07_48", "WE07_13", "WE07_75", "WE07_11", "WE07_76", "WE07_54", "WE07_04", "WE07_44", "WE07_15", "WE07_77", "WE07_36", "WE07_78", "WE07_79", "WE07_80", "WE07_81", "WE07_23", "WE07_82", "WE07_55", "WE07_22", "WE07_25", "WE07_83", "WE07_33", "WE07_56", "WE07_57", "WE07_58", "WE07_37", "WE07_16", "WE07_59", "WE07_09", "WE07_60", "WE07_61", "WE07_84", "WE07_45", "WE07_85", "WE07_34", "WE07_86", "WE07_87", "WE07_88", "WE07_62", "WE07_63", "WE07_64", "WE07_65", "WE07_66", "WE07_41", "WE07_29", "WE07_05", "WE07_89", "WE07_38", "WE07_07", "WE07_67", "WE07_19", "WE07_68", "WE07_69", "WE07_14", "WE07_24", "WE07_28", "WE07_10", "WE07_08", "WE07_90", "WE07_12", "WE07_70", "WE07_42", "WE07_91", "WE07_46", "WE07_92", "WE07_20", "WE07_93", "WE07_94", "WE07_02", "WE07_18", "WE07_32", "WE07_71", "WE07_06", "WE07_95", "WE07_96", "WE07_26", "WE07_72", "WE07_30" );

for ($i = 0; $i <= 95; $i++) {
if ($o[0] ==  $i + 1) {if (value($item_name[$i]) == 1) {goToPage('AQcontr');} elseif (value($item_name[$i]) == 2) {$o = array($i+2);registerVariable('o');goToPage('AQpre');} elseif (value($item_name[$i]) == -9) {$o = array($i+1);registerVariable('o');goToPage('AQpre');};};
}
]]></php>
</page>


<!-- Seite 22 -->
<page ident="AQcontr" intID="43">
<php intID="103"><![CDATA[
array($o[0]);
debug($o[0]);

$pseudo_rand = array(73,49,43, 3,31,50,27, 1,74,21,17,51,39,40,35,47,52,53,48,13,75,11,76,54, 4,44,15,77,36,78,79,80,81,23,82,55,22,25,83,33,56,57,58,37,16,59, 9,60,61,84,45,85,34,86,87,88,62,63,64,65,66,41,29, 5,89,38, 7,67,19,68,69,14,24,28,10, 8,90,12,70,42,91,46,92,20,93,94, 2,18,32,71, 6,95,96,26,72,30);

for ($i = 0; $i <= 95; $i++) {
if ($o[0] ==  $i+1) {question('WE08',$pseudo_rand[$i]);$o   = array($i+2);registerVariable('o');goToPage('WEcatch');};
}
]]></php>
<php intID="46"><![CDATA[
//array($o[0]);
//debug($o[0]);
//
//$question_name = array("WE08_73", "WE08_49", "WE08_43", "WE08_03", "WE08_31", "WE08_50", "WE08_27", "WE08_01", "WE08_74", "WE08_21", "WE08_17", "WE08_51", "WE08_39", "WE08_40", "WE08_35", "WE08_47", "WE08_52", "WE08_53", "WE08_48", "WE08_13", "WE08_75", "WE08_11", "WE08_76", "WE08_54", "WE08_04", "WE08_44", "WE08_15", "WE08_77", "WE08_36", "WE08_78", "WE08_79", "WE08_80", "WE08_81", "WE08_23", "WE08_82", "WE08_55", "WE08_22", "WE08_25", "WE08_83", "WE08_33", "WE08_56", "WE08_57", "WE08_58", "WE08_37", "WE08_16", "WE08_59", "WE08_09", "WE08_60", "WE08_61", "WE08_84", "WE08_45", "WE08_85", "WE08_34", "WE08_86", "WE08_87", "WE08_88", "WE08_62", "WE08_63", "WE08_64", "WE08_65", "WE08_66", "WE08_41", "WE08_29", "WE08_05", "WE08_89", "WE08_38", "WE08_07", "WE08_67", "WE08_19", "WE08_68", "WE08_69", "WE08_14", "WE08_24", "WE08_28", "WE08_10", "WE08_08", "WE08_90", "WE08_12", "WE08_70", "WE08_42", "WE08_91", "WE08_46", "WE08_92", "WE08_20", "WE08_93", "WE08_94", "WE08_02", "WE08_18", "WE08_32", "WE08_71", "WE08_06", "WE08_95", "WE08_96", "WE08_26", "WE08_72", "WE08_30");
//
//for ($i = 0; $i <= 95; $i++) {
//if ($o[0] ==  $i+1) {question($question_name[$i]);$o   = array($i+2);registerVariable('o');goToPage('WEcatch');};
//}
]]></php>
</page>


<!-- Seite 23 -->
<page ident="WEout" intID="48">
<php intID="49">
//leave empty
</php>
</page>

1 Answer

0 votes
by s044369 (210 points)

Und ja, ich glaube, da brauche ich noch etwas Unterstützung - ich wüsste auch gar nicht genau, wo ich das "code:ifany" einbauen müsste. In value() auf den Seiten 20,21,22 tut es auf jeden Fall bisher nichts, und die Fehlermeldung ist noch da.

Vielen Dank für Ihre Hilfe!

by SoSci Survey (327k points)
> Also die Fehlermeldung ist "Dieses Interview versuchte, auf Seite Nr. 21 (Kennung filter) zu springen, die bei der Ausgabe der aktuellen Darstellung bereits verarbeitet wurde."

Okay, damit kommen wir der Sache näher. Es geht offenbar um goToPage().

Seite 21 hat keine Kennung, aber Seite 19 heißt WEcatch. Diese Seite zeigt nichts an, und vermutlich auch Seite 20 nicht? Wenn es dann noch weiter bis Seite 22 geht, dann kann es passieren, dass von dort wieder zur Seite 19 gesprungen wird. Und weil das immer weiter im Kreis gehen würde, kommt die Fehlermeldung.

Der PHP-Code ist im Moment nicht wirklich formatiert. Deshalb kann ich den Sinn der FOR-Schleifen nur bedingt nachvollziehen. Bitte formatieren Sie das mal richtig (jeden Befehl in eine eigene Zeile und Einrückungen entsprechend den Blöcken mit geschweiften Klammer), dann wird etwas klarer, was dort passiert.

Es gibt online auch Websites, die PHP-Code sauber formatieren ("pretty print").

Und was wir dann noch brauchen ist die Debug-Information, die auf der Seite mit der Fehlermeldung angezeigt wird.
by s044369 (210 points)
Also, die gesamten Fehlermeldungen sind diese hier:


Warnung (Seite 21)
Sie speichern Zusatz-Daten (%b%) mit mehr als 2 KB in diesem Interview. Bitte verwenden Sie für umfangreiche Platzhalter den Befehl show() anstatt replace().
Warnung (Seite 20)
Sie speichern Zusatz-Daten (%b%) mit mehr als 2 KB in diesem Interview. Bitte verwenden Sie für umfangreiche Platzhalter den Befehl show() anstatt replace().
Fehler im Fragebogen (Seite 21)
Dieses Interview versuchte, auf Seite Nr. 21 (Kennung filter) zu springen, die bei der Ausgabe der aktuellen Darstellung bereits verarbeitet wurde. Bitte überprüfen Sie, ob goToPage() eine Schleife erzeugt.

Nur die Seiten 19, 21 und 23 zeigen nichts an. Seite 21 nimmt die Antwort der Frage auf Seite 20 auf und entscheidet, ob zurück auf seite 20 geleitet wird (mit einem neuen arraywert, damit die nächste Frage angezeigt wird), oder weiter auf seite 22, auf der die entsprechende zusatzfrage gestellt wird.

Seiten 19 und 23 sind gewissermaßen nur für den "Ausstieg" aus dem Gesamtloop gedacht. Seite 19 ist die Startseite für jede neue Teilfrage und soll prüfen, ob der Arraywert noch klein genug für einen weiteren Durchgang (= eine neue Frage) ist, oder ob alle Fragen durch sind (bei $o=97 wurden alle 96 Fragen gestellt). Wenn letzteres der Fall ist, werden die Fragen und Filterfragen übersprungen, die Teilnehmer landen auf Seite 23 und begnnen mit dem Rest des Fragebogens.
by s044369 (210 points)
und hier der code in etwas schöner - ich hoffe, das passt so

<!-- Seite 18 -->
<page ident="enc" intID="7">
<info>Instruktion 2. Teil (Enkodierung)</info>
<text id="Instruktion neu 11" intID="52">
    <spacing>default</spacing>
</text>
<question id="IN40" intID="53" />
<php intID="50"><![CDATA[
if ($gruppe == 1 OR $gruppe == 2) {
replace('%AQ1%', value('WS07x01', 'label'));
replace('%AQ2%', value('WS07x02', 'label'));
replace('%AQ3%', value('WS07x03', 'label'));
replace('%AQ4%', value('WS07x04', 'label'));
replace('%AQ5%', value('WS07x05', 'label'));
replace('%AQ6%', value('WS07x06', 'label'));
replace('%AQ7%', value('WS05x01', 'label'));
replace('%AQ8%', value('WS05x02', 'label'));
replace('%AQ9%', value('WS05x03', 'label'));
replace('%AQ10%',value('WS05x04', 'label'));
replace('%AQ11%',value('WS05x05', 'label'));
replace('%AQ12%',value('WS05x06', 'label'));
} elseif ($gruppe == 3 OR $gruppe == 4) {
replace('%AQ1%', value('WS07x01', 'label'));
replace('%AQ2%', value('WS07x02', 'label'));
replace('%AQ3%', value('WS07x03', 'label'));
replace('%AQ4%', value('WS07x04', 'label'));
replace('%AQ5%', value('WS07x05', 'label'));
replace('%AQ6%', value('WS07x06', 'label'));
replace('%AQ7%', value('WS09x01', 'label'));
replace('%AQ8%', value('WS09x02', 'label'));
replace('%AQ9%', value('WS09x03', 'label'));
replace('%AQ10%',value('WS09x04', 'label'));
replace('%AQ11%',value('WS09x05', 'label'));
replace('%AQ12%',value('WS09x06', 'label'));
};
$o = array(1);
registerVariable('o');
]]></php>
</page>


<!-- Seite 19 -->
<page ident="WEcatch" intID="39">
<php intID="40"><![CDATA[
//leave empty

if ($o[0] == 97) {goToPage('WEout');};
]]></php>
</page>


<!-- Seite 20 -->
<page ident="AQpre" intID="41">
<php intID="44"><![CDATA[
$pseudo_random = array(73,49,43, 3,31,50,27, 1,74,21,17,51,39,40,35,47,52,53,48,13,75,11,76,54, 4,44,15,77,36,78,79,80,81,23,82,55,22,25,83,33,56,57,58,37,16,59, 9,60,61,84,45,85,34,86,87,88,62,63,64,65,66,41,29, 5,89,38, 7,67,19,68,69,14,24,28,10, 8,90,12,70,42,91,46,92,20,93,94, 2,18,32,71, 6,95,96,26,72,30);

for ($i = 0; $i <= 95; $i++) {
  if ($o[0] ==  $i+1) {
    question('WE07',$pseudo_random[$i]);
    };
}
]]></php>
</page>


<!-- Seite 21 -->
<page ident="filter" intID="42">
<php intID="45"><![CDATA[
array($o[0]);

$item_name = array("WE07_73", "WE07_49", "WE07_43", "WE07_03", "WE07_31", "WE07_50", "WE07_27", "WE07_01", "WE07_74", "WE07_21", "WE07_17", "WE07_51", "WE07_39", "WE07_40", "WE07_35", "WE07_47", "WE07_52", "WE07_53", "WE07_48", "WE07_13", "WE07_75", "WE07_11", "WE07_76", "WE07_54", "WE07_04", "WE07_44", "WE07_15", "WE07_77", "WE07_36", "WE07_78", "WE07_79", "WE07_80", "WE07_81", "WE07_23", "WE07_82", "WE07_55", "WE07_22", "WE07_25", "WE07_83", "WE07_33", "WE07_56", "WE07_57", "WE07_58", "WE07_37", "WE07_16", "WE07_59", "WE07_09", "WE07_60", "WE07_61", "WE07_84", "WE07_45", "WE07_85", "WE07_34", "WE07_86", "WE07_87", "WE07_88", "WE07_62", "WE07_63", "WE07_64", "WE07_65", "WE07_66", "WE07_41", "WE07_29", "WE07_05", "WE07_89", "WE07_38", "WE07_07", "WE07_67", "WE07_19", "WE07_68", "WE07_69", "WE07_14", "WE07_24", "WE07_28", "WE07_10", "WE07_08", "WE07_90", "WE07_12", "WE07_70", "WE07_42", "WE07_91", "WE07_46", "WE07_92", "WE07_20", "WE07_93", "WE07_94", "WE07_02", "WE07_18", "WE07_32", "WE07_71", "WE07_06", "WE07_95", "WE07_96", "WE07_26", "WE07_72", "WE07_30" );

for ($i = 0; $i <= 95; $i++) {
    if ($o[0] ==  $i + 1) {
        if (value($item_name[$i]) == 1) {
            goToPage('AQcontr')
        ;} elseif (value($item_name[$i]) == 2) {
            $o = array($i+2);registerVariable('o');goToPage('AQpre')
        ;} elseif (value($item_name[$i]) == -9) {
            $o = array($i+1);registerVariable('o');goToPage('AQpre')
        ;}
    ;}
;}
]]></php>
</page>


<!-- Seite 22 -->
<page ident="AQcontr" intID="43">
<php intID="103"><![CDATA[
array($o[0]);
debug($o[0]);

$pseudo_rand = array(73,49,43, 3,31,50,27, 1,74,21,17,51,39,40,35,47,52,53,48,13,75,11,76,54, 4,44,15,77,36,78,79,80,81,23,82,55,22,25,83,33,56,57,58,37,16,59, 9,60,61,84,45,85,34,86,87,88,62,63,64,65,66,41,29, 5,89,38, 7,67,19,68,69,14,24,28,10, 8,90,12,70,42,91,46,92,20,93,94, 2,18,32,71, 6,95,96,26,72,30);

for ($i = 0; $i <= 95; $i++) {
    if ($o[0] ==  $i+1) {
        question('WE08',$pseudo_rand[$i]);$o   = array($i+2);registerVariable('o');goToPage('WEcatch')
    ;}
;}
]]></php>



<!-- Seite 23 -->
<page ident="WEout" intID="48">
<php intID="49">
//leave empty
</php>
</page>
by SoSci Survey (327k points)
Jetzt fehlt nur noch die Debug-Information :)
https://www.soscisurvey.de/help/doku.php/de:create:debugging

Was ich jetzt scho sagen kann: Ein goToPage() innerhalb einer FOR-Schleife ist wahrscheinlich nicht sinnvoll. Denn damit wird die Schleife abgebrochen und SoSci Survey springt zur anderen Seite.
by s044369 (210 points)
ups, Entschuldigung! Hier auch noch die Debug-Info:

[Information]    Interview Nummer 68 wird fortgesetzt
[Information]    Der Fragebogen CB6_NationalityxStatus im Projekt mahecemur wird verwendet
[Information]    Die Verweildauer auf Seite 20 betrug zusätzliche 1 Sekunden
[Verarbeitung]    Lese Antworten von Seite 21+20
[Information]    Antwort auf WE07_30 = 2
[Information]    Fragen bisher zu 100% vollständig beantwortet
[Verarbeitung]    Erstelle Seite 21 in Fragebogen CB6_NationalityxStatus
[Information]    value("WE07_30") = 2
[Information]    value("WE07_30") = 2
[Verarbeitung]    Springe zur Seite AQpre (Nr. 20)
[Verarbeitung]    Erstelle Seite 20 in Fragebogen CB6_NationalityxStatus
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 21
[Verarbeitung]    Erstelle Seite 21 in Fragebogen CB6_NationalityxStatus
[Information]    Folgende Platzhalter sind vorbereitet:
%AQ11% = (Text) Natalya Ivanova
%AQ12% = (Text) Ulyana Bondarenko
%AQ13% = (Text) Jennifer Meyer
%AQ14% = (Text) Luisa Wagner
%AQ15% = (Text) Petra Schneider
%AQ16% = (Text) Monika Fischer
%AQ17% = (Text) Oleksandra Melnik
%AQ18% = (Text) Lilya Kovalchuk
%AQ19% = (Text) Anastasia Boyko
%AQ20% = (Text) Kateryna Shevchenko
%AQ21% = (Text) Natalya Ivanova
%AQ22% = (Text) Ulyana Bondarenko
%ST01% = (Text) Wladimir Putin versucht die...
%ST02% = (Text) Russische Ideologien veränd...
%ST03% = (Text) Einer der größten Feinde eu...
%ST04% = (Text) Der Kreml bedroht jeden Dem...
%ST05% = (Text) Angriffe auf die ukrainisch...
%ST06% = (Text) Alle Anhänger Putins hassen...
%ST07% = (Text) Das russische Recht behande...
%ST08% = (Text) Die Jugend wird von russisc...
%ST09% = (Text) Die europäische Gesellschaf...
%ST10% = (Text) Viele Gefolgsleute Putins b...
%ST11% = (Text) Russische Ideologien bringe...
%ST12% = (Text) Russische Propaganda ist ei...
%ST13% = (Text) Bombenanschläge verängstige...
%ST14% = (Text) Der russische Geheimdienst ...
%ST15% = (Text) Die russische Polizei versu...
%ST16% = (Text) Der russische Krieg widersp...
%ST17% = (Text) Politische Sanktionen gegen...
%ST18% = (Text) Der russische Krieg fordert...
%ST19% = (Text) Russische Propaganda nimmt ...
%ST20% = (Text) Die russische Führung nutzt...
%ST21% = (Text) Die internationale Gemeinsc...
%ST22% = (Text) Verschiedene Nationen versu...
%ST23% = (Text) Meinungsfreiheit wird in Ru...
%ST24% = (Text) Russische Militäreinheiten ...
%ST25% = (Text) Putins Krieg spaltet die ru...
%ST26% = (Text) Russland und seine Verbünde...
%ST27% = (Text) Ukrainer haben aufgrund des...
%ST28% = (Text) Tatenloses Zusehen fördert ...
%ST29% = (Text) Der Kreml droht mit dem Ein...
%ST30% = (Text) Das finale Ziel Putins ist ...
%ST31% = (Text) Europäische Werte werden vo...
%ST32% = (Text) Das Scheitern von europäisc...
%ST33% = (Text) Es ist die Aufgabe Europas ...
%ST34% = (Text) Es gibt immer mehr russisch...
%ST35% = (Text) Ich bezweifle, dass Sanktio...
%ST36% = (Text) Russland rekrutiert unter j...
%ST37% = (Text) Russische Soldaten verüben ...
%ST38% = (Text) Es ist schwierig für das eu...
%ST39% = (Text) Ich habe ein Video gesehen,...
%ST40% = (Text) Jeder Rückschlag Putins för...
%ST41% = (Text) Europäer werden im Kampf ge...
%ST42% = (Text) Putin ist das Wohlergehen d...
%ST43% = (Text) Europäische Politiker ermüd...
%ST44% = (Text) Westliche Unstimmigkeiten s...
%ST45% = (Text) Die Bemühungen der europäis...
%ST46% = (Text) Nur eine politische Einheit...
%ST47% = (Text) Putin sind Menschenleben egal.
%ST48% = (Text) Ich habe einmal im Fernsehe...
%ST49% = (Text) Diplomatie könnte zu langsa...
%ST50% = (Text) Europäische Annäherungsvers...
%ST51% = (Text) Russen leben unter der Herr...
%ST52% = (Text) Keine Demokratie ist vor de...
%ST53% = (Text) Diplomatie ist gegen den Kr...
%ST54% = (Text) Putin kommt immer näher.
%ST55% = (Text) Europäer müssen ihre Stimme...
%ST56% = (Text) Politiker nutzen den russis...
%ST57% = (Text) Putin denkt fundamental and...
%ST58% = (Text) Manche Personen entscheiden...
%ST59% = (Text) Die russische Armee bildet ...
%ST60% = (Text) Nach dem Angriff auf die Uk...
%ST61% = (Text) Die stärkste Waffe des Krem...
%ST62% = (Text) Putin wird versuchen, die K...
%ST63% = (Text) Putin und seine Verbündeten...
%ST64% = (Text) Putin tritt die internation...
%ST65% = (Text) Die russische Regierung ver...
%ST66% = (Text) Ich habe Angst, dass sich d...
%ST67% = (Text) Putin zeigt wenig Kompromis...
%ST68% = (Text) Russland ist weit davon ent...
%ST69% = (Text) Putin will keine unabhängig...
%ST70% = (Text) Die russische Regierung wir...
%ST71% = (Text) Russland entwickelt sich zu...
%ST72% = (Text) In Russland wurde die polit...
%ST73% = (Text) Putin hat bereits viele Ver...
%ST74% = (Text) Der Kreml versucht westlich...
%ST75% = (Text) Die ukrainische Bevölkerung...
%ST76% = (Text) Russland ist eine Herausfor...
%ST77% = (Text) Deutschlands Einfluss auf R...
%ST78% = (Text) Die EU allein wird von Russ...
%ST79% = (Text) Der Kreml schreckt nicht vo...
%ST80% = (Text) Putin inszeniert sich als v...
%ST81% = (Text) Der Kreml nutzt die deutsch...
%ST82% = (Text) Regimetreue Extremisten ste...
%ST83% = (Text) Russische Politiker sind se...
%ST84% = (Text) Die russische Regierung rea...
%ST85% = (Text) Putin wird niemals mehr ein...
%ST86% = (Text) Der Kreml verübt grausame M...
%ST87% = (Text) Putin will das moderne Euro...
%ST88% = (Text) Friedensgespräche mit dem K...
%ST89% = (Text) Immer wieder kommt es zu üb...
%ST90% = (Text) Der Krieg ist sehr gefährli...
%ST91% = (Text) Das alltägliche Leben ist d...
%ST92% = (Text) Die Härte und die Gewaltber...
%ST93% = (Text) Die schlimmen Nachrichten v...
%ST94% = (Text) Ukrainer wissen nicht, ob s...
%ST95% = (Text) Wenn man nicht vor Ort ist,...
%ST96% = (Text) Die Bedrohung durch Putin h...
%AQ1% = (Text) Carolin Weber
%AQ2% = (Text) Susanne Schmidt
%AQ3% = (Text) Jennifer Meyer
%AQ4% = (Text) Luisa Wagner
%AQ5% = (Text) Petra Schneider
%AQ6% = (Text) Monika Fischer
%AQ7% = (Text) Oleksandra Melnik
%AQ8% = (Text) Lilya Kovalchuk
%AQ9% = (Text) Anastasia Boyko
%AQ10% = (Text) Kateryna Shevchenko
by SoSci Survey (327k points)
Ja, hier sieht man schön das Problem. Nur an etwas anderer Stelle als ich zunächst dachte:

[Verarbeitung]    Erstelle Seite 21 in Fragebogen CB6_NationalityxStatus
[Verarbeitung]    Springe zur Seite AQpre (Nr. 20)
[Verarbeitung]    Erstelle Seite 20 in Fragebogen CB6_NationalityxStatus
[Information]    Die Seite zeigt keine Inhalte, automatisch weiter mit Seite Nr. 21
[Verarbeitung]    Erstelle Seite 21 in Fragebogen CB6_NationalityxStatus

Sie haben hier einen Sprung zurück von Seite 21 auf Seite 20 - und dann sollte es wieder auf Seite 21 gehen (wo sich das beliebig oft wiederholen würde). Dadurch entsteht die Fehlermeldung.

Um die Fehlermeldung zu entfernen, müssen Sie also das  goToPage('AQpre');  entfernen.

Ich denke aber, dass Ihr Code mit den Sprüngen innerhalb der FOR-Schleifen generell nicht - so wie geplant - funktionieren wird.

Wenn Sie Unterstützung benötigen, den Code sinnvoller zu konzipieren, dann würde ich Sie bitten, dass Sie eine neue Frage erstellen (hier unten wird es langsam ein wenig unübersichtlich), dort beschrieben, was Ihr Ziel ist, und gerne nochmal den Code posten, der nicht funktioniert.
by s044369 (210 points)
Vielen Dank! Wie im ersten Post erwähnt, hat der Code ja zu jedem Zeitpunkt funktioniert. Also sowohl die Teilnehmenden sind ohne Endlosschleife durch den Frabo gekommen, als auch hatte ich am Ende einen vollständigen Datensatz. Nach Ihrer Beschreibung habe ich lediglich den Code von Seite 19:

<!-- Seite 19 -->
<page ident="WEcatch" intID="39">
<php intID="40"><![CDATA[
//leave empty

if ($o[0] == 97) {goToPage('WEout');};
]]></php>
</page>

auf Seite 20 verschoben. Jetzt wird die Fehlermeldung nicht mehr angezeigt.

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

...