0 votes
in SoSci Survey (dt.) by s298748 (110 points)

Hallo,
bei unserem Fragebogen wollen wir gerne, nachdem die Probanden das Geschlecht ausgewählt haben, die Pronomen angepasst an die Frage und den grammatikalischen Fall entsprechend ersetzen lassen. Dazu haben wir einen php-Code erstellt und jeweils die Wörter ersetzt. Allerdings kommt jetzt immer die Fehlermeldung, dass es nicht richtig definiert wurde. Woran könnte das liegen?

Das ist unser Code:
if(value('SD23') ==1) //weibl.
{
replace ('%Pro%', 'Sie');
replace ('%pro%', 'sie');
replace ('%proA%', 'sie');
replace ('%proD%', 'ihr');
replace ('%MPa%', 'Meine Partnerin');
replace ('%mPa%', 'meine Partnerin');
replace ('%mPaA%', 'meine Partnerin');
replace ('%mPaD%', 'meiner Partnerin');
replace ('%mPaG%', 'meiner Partnerin');
replace ('%IPa%', 'Ihre Partnerin');
replace ('%IPaD%', 'Ihrer Partnerin');
replace ('%IPaA%', 'Ihre Partnerin');
replace ('%IPaG%', 'Ihrer Partnerin');
replace ('%poss%', 'ihr');
replace ('%possPl%', 'ihre');
replace ('%possw%', 'ihre');
replace ('%posswd%', 'ihrer');
replace ('%possPlA%', 'ihren');
}
if(value('SD23') ==2) //männl.
{
replace ('%Pro%', 'Er');
replace ('%pro%', 'er');
replace ('%proA%', 'ihn');
replace ('%proD%', 'ihm');
replace ('%MPa%', 'Mein Partner');
replace ('%mPa%', 'mein Partner');
replace ('%mPaA%', 'meinen Partner');
replace ('%mPaD%', 'meinem Partner');
replace ('%mPaG%', 'meines Partners');
replace ('%IPa%', 'Ihr Partner');
replace ('%IPaD%', 'Ihrem Partner');
replace ('%IPaA%', 'Ihren Partner');
replace ('%IPaG%', 'Ihres Partners');
replace ('%poss%', 'sein');
replace ('%possPl%', 'seine');
replace ('%possw%', 'seine');
replace ('%posswd%', 'seiner');
replace ('%possPlA%', 'seinen');
}

by s109993 (12.0k points)
Setzen Sie einmal die geschweifte Klammer auf die gleiche Linie wie das "if"- sollte eigentlich auch so gehen, aberman weiß ja nie ...

Außerdem müsste der PHP Code in einem PHP Baustein auf der Seite nach der Frage SD23 stehen.

1 Answer

0 votes
by SoSci Survey (330k points)

Allerdings kommt jetzt immer die Fehlermeldung, dass es nicht richtig definiert wurde

Stellen Sie zwei Dinge sicher:

1) Der Code mit dem replace() muss kommen bevor die erste Frage bzw. der erste Text kommt, welcher die Platzhalter verwendet.

2) Der Code muss auch ausgeführt werden, wenn Sie den Code auf Seite 1 platziert haben, dann stellen Sie sicher, dass Seite 1 beim Testen als erstes ausgeführt wird.

Da Sie einen Filter verwenden besteht auch die Möglichkeit, dass dieser einfach nicht ausgeführt wird - etwa wenn die Variable anders heißt als SD23 oder wenn die Frage SD23 auf derselben Seite steht wie der PHP-Code.

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

...