0 votes
ago in SoSci Survey (dt.) by s295722 (140 points)
edited ago by SoSci Survey

Liebes Support Team,

ich habe den PHP Code versucht nach Ihrem Beispiel einzubauen. Allerdings bekomme ich es nicht hin, dass der Code zuverlässig die Vignetten anzeigt und die Randomisierung scheint nicht immer richtig zu funktionieren. Mein Fragebogen ist nun so aufgebaut:

01 Intro (für alle gleich)
02 Demografische Variablen mit der Variable DE10, wo Personen angeben, ob Sie zur älteren (value 3) oder jüngeren (value 1) Altersgruppe gehören. (für alle gleich)
03 Randomizer. Ich habe hier den Randomizer eingefügt und den PHP Code (für alle gleich)
04 TRs (Outcome für die same age condition)
05 TRy (Outcome für die young condition)
06 TRo (Outcome für die old condition)
07 BIs (Exploratives Outcome same age condition)
08 BIy (Exploratives Outcome für die young condition)
09 BIo (Exploratives Outcome für die old condition)
10 Manipulation check (für alle gleich)
end (für alle gleich)

Ich habe das so gemacht, damit ich die die nicht relevanten Seiten ganz leicht ausblenden kann basierend auf DE10 und dann keinen PHP Code mehr auf den individuellen Seiten brauche-zumindest hatte ich mir das so gedacht. Während das mit den Seiten so zu funktionieren scheint, wie ich mir das Gedacht habe, werden die Vignetten nicht angezeigt. Die habe ich auch nicht in den Fragebogen reingeschoben, sondern ich wollte das so machen, dass der PHP Code die Vignette quasi aufruft. Allerdings klappt das nicht, die Vignette wird manchmal nicht angezeigt und ich weiß nicht warum. Könnten Sie mir erklären, was an meinem Code für mein Vorhaben falsch ist und wie ich das beheben kann? Nicht wundern, ich habe auch versucht so Debug-Möglichkeiten einzubauen, damit ich den Fehler selbst finden kann, was aber nicht funktioniert hat. Die Vignetten sind die V00X Variablen im Code.

Das ist mein PHP Code, den ich nach dem Randomizer platziert habe:

// 1. Fetch age response
$age = value('DE10');

// Screen out ineligible participants (Category 2)
if ($age == 2) {
    goToPage('end');
}

// 2. Fetch randomizer value
$rnd = value('V001');

// 3. Conditional routing with explicit age validation
if ($rnd == 1) {
    // Professional | Same Age
    text('V002');
    setPageOrder('TRs', 'BIs', 'Friendship', 'end');

} elseif ($rnd == 2) {
    // Friendship | Same Age
    text('V003');
    setPageOrder('TRs', 'BIs', 'Friendship', 'end');

} elseif ($rnd == 3) {
    // Professional | Age Gap
    if ($age == 1) {
        // Younger Participant -> V004 & Younger Scales
        text('V004');
        setPageOrder('TRy', 'BIy', 'Friendship', 'end');
    } elseif ($age == 3) {
        // Older Participant -> V006 & Older Scales
        text('V006');
        setPageOrder('TRo', 'BIo', 'Friendship', 'end');
    } else {
        html('<p style="color:red; font-weight:bold;">Debug Error: DE10 value is invalid (Value: '.$age.'). Expected 1 or 3.</p>');
    }

} elseif ($rnd == 4) {
    // Friendship | Age Gap
    if ($age == 1) {
        // Younger Participant -> V005 & Younger Scales
        text('V005');
        setPageOrder('TRy', 'BIy', 'Friendship', 'end');
    } elseif ($age == 3) {
        // Older Participant -> V007 & Older Scales
        text('V007');
        setPageOrder('TRo', 'BIo', 'Friendship', 'end');
    } else {
        html('<p style="color:red; font-weight:bold;">Debug Error: DE10 value is invalid (Value: '.$age.'). Expected 1 or 3.</p>');
    }
}

Danke für Ihre Hilfe. Der Sosci survey support ist mit Abstand der beste Support, den ich bei Anbietern jemals hatte.

ago by SoSci Survey (377k points)
Spontan sehe ich keinen offensichtlichen Fehler. Die Vignetten sind die Texte V002 bis V007, ist das korrekt? Welche Codes gibt es denn im Zufallsgenerator? 1 bis 4 oder andere Codes?

Können Sie anhand der "Erhobenen Daten" nachvollziehen, in welchen Fällen keine Vignette angezeigt wurde? Welche Werte hatte dort DE10 und V001? Wenn Sie diese Werte kennen, können Sie dann das Problem durch mehrfachen Aufruf des Fragebogens (bis der Zufallsgenerator den richtigen Wert zieht) nachvollziehen? Was zeigt die Debug-Information in diesem Fall an?

Please log in or register to answer this question.

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

...