Ihre IF-Bedingung ist nicht ganz richtig geschachtelt - ich habe Ihren Code einmal mit Leerzeichen versehen:
$selected = getItems('ZO02', 'is', 2);
if (count($selected) > 0) {
shuffle($selected);
$item = $selected[0];
} else {
if($item==1) {
text('ZO03');
}
if($item==2) {
text('ZO04');
}
// u.s.w.
}
put('ZO02', $item);
Sie sehen: Wenn mehr als ein Item in ZO02 ausgewählt wurde (count($selected) > 0)
, dann wird eines davon zufällig ausgewählt und in $item
gespeichert. Wenn keines ausgewählt wurde, kommen die ganzen "unteren" IF-Filter zum Einsatz ($item==1)
- aber dann wurde die Variable $item
ja nicht definiert.
Ich vermute, Sie möchten den Teilnehmer zur nächsten Seite schicken, wenn er keine der Optionen ausgewählt hat:
$selected = getItems('ZO02', 'is', 2);
if (count($selected) > 0) {
shuffle($selected);
$item = $selected[0];
put('ZO02', $item);
} else {
goToPage('next');
put('ZO02', '-1');
}
Und darunter platzieren Sie dann (außerhalb der vorigen Klammer) Ihre IF-Filter, um Inhalte anzuzeigen:
if($item==1) {
text('ZO03');
}
if($item==2) {
text('ZO04');
}
// u.s.w.