Nehmen Sie die eigentliche Anzeige der Fragen (forach...) aus dem isset()-Filter heraus:
if (!isset($fragen)) {
$fragen = array('SI01', 'SI02', 'SI03','SI04', 'NS01','NS02', 'NS03', 'NS04');
shuffle($fragen);
registerVariable('fragen');
}
foreach($fragen as $kennung) {
question($kennung);
}
Sie möchten das Mischen nur einmal erledigen, daher der isset()-Filter, aber die Anzeige der Fragen solle auch bei der wiederholten Anzeige der Seite wieder funktionieren.