Hallo!
Ich habe eine Frage zum Anzeigen personalisierter Infos in einem Fragebogen.
Konkret möchte ich den Namen einer Person sowie die Teilgruppe, der die Person angehört, auf jeweils einer Seite im Fragebogen anzeigen lassen. Die Infos dazu habe ich in einer Excel-Tabelle gespeichert.
Bisher habe ich unter "Adressen hinzufügen" --> "Import per CSV-Datei" eine Excel-Datei mit folgenden Testdaten importiert:
Email,frstname,subgroup
annegret@example.com,Anne,nurse
bertram@example.com,Bert,teacher
caroline@example.com,Caro,doctor
daniel@example.com,Dani,canteen
Im Anschluss habe ich Serienmails erstellt und eine Datei für den Import individueller Versandzeitpunkte mit folgenden Testdaten hochgeladen:
time,Email,ID,frstname,subgroup
31.05.24 14:00,annegret@example.com,1,Anne,nurse
31.05.24 14:01,bertram@example.com,2,Bert,teacher
31.05.24 14:02,caroline@example.com,3,Caro,doctor
31.05.24 14:03,daniel@example.com,4,Dani,canteen
Meine Idee war es, die Informationen zu Name und Teilgruppe über den Befehl panelData() im Fragebogen anzeigen zu lassen.
Ich habe deshalb folgenden PHP-Code auf der ersten Seite des Fragebogens eingefügt:
$data = panelData();
if ($data === null) {
text('XX01');
buttonHide();
pageStop();
}
$firstname = $data[firstname];
replace('%firstname%', $firstname);
XX01 ist dabei die Kennung des Textes, der die Fehlermeldung anzeigen soll.
Unter dem PHP-Code steht folgender Text, mit dem ich den Namen anzeigen lassen möchte:
Hello %firstname%
Wenn ich nun allerdings die Serienmail an mich versende (ich habe dazu natürlich die Testdaten gelöscht und jeweils eine Datei mit meiner Mail-Adresse und den weiteren Angaben unter "Adressen hinzufügen" und "Individuelle Versandzeitpunkte importieren" hochgeladen) und auf den Link in der Mail klicke, erscheint folgende Fehlermeldung:
Questionnaire Error (page 1)
An error occured while creating the questionnaire page. Please inform the project administrators about the problem via email to ... and include a copy of the error message below. Thank you very much.
There is an error in the PHP code:
Questionnaire Error: Uncaught Error: Undefined constant "s2survey\questionnaire\environment\firstname" in /var/www/s2survey/html/s2survey/phpcode/PHPCodeExecutor.php(547) : eval()'d code:10 Stack trace: #0 /var/www/s2survey/html/s2survey/phpcode/PHPCodeExecutor.php(547): eval() #1 /var/www/s2survey/html/s2survey/questionnaire/php/PHPCodeExecutorQnr.php(71): s2survey\phpcode\PHPCodeExecutor->runCode() #2 /var/www/s2survey/html/inc/QuestionnairePHP.php(613): s2survey\questionnaire\php\PHPCodeExecutorQnr->runCode() #3 /var/www/s2survey/html/s2survey/questionnaire/QuestionnaireElement.php(494): QuestionnairePHP->runElement() #4 /var/www/s2survey/html/s2survey/questionnaire/QnrPage.php(1569): s2survey\questionnaire\QuestionnaireElement->run() #5 /var/www/s2survey/html/s2survey/questionnaire/QnrPage.php(1635): s2survey\questionnaire\QnrPage->runContent() #6 /var/www/s2survey/html/inc/InterviewCase.php(1537): s2survey\questionnaire\QnrPage->runCreate() #7 /var/www/s2survey/html/inc/Interviewer.php(664): InterviewCase->createQuestionnairePage() #8 /var/www/s2survey/html/inc/Interviewer.php(836): Interviewer->handleCreate() #9 /var/www/s2survey/html/inc/Interviewer.php(1965): Interviewer->handleInterview() #10 /var/www/s2survey/html/discefrn/index.php(4): Interviewer::run() #11 {main} thrown
line: 10
This is an error which dows not allow to show the PHP code.
Könnt ihr mir vielleicht sagen, wo mein Fehler liegt, bzw. was ich ändern muss?
Vielen Dank schon mal und liebe Grüße!