Hallo Comunity!
In meinem Fragebogen habe ich ein PHP- Element, was die Randomisierung der Fragen übernimmt. Durch verschiedene Prinzipien bekomme ich am Ende einen array $realqst. Dieser enthält die 8 Fragen, die ich in meinem Fragebogen stellen will. Durch question($realqst[0]); question($realqst[1]); usw. kann ich die Fragen auch auf der selben Seite problemlos anzeigen.
Um die Fragen auf der nächsten Seite zu stellen, verwende ich registerVariable('realqst');, um den array realqst festzuhalten. Wenn ich dann aber auf den folgenden Seiten die Fragen durch question($realqst[0]); abzurufen versuche, bekomme ich die Fehlermeldung "Die PHP-Variable $realqst wurde verwendet, in diesem PHP-Code aber noch nicht definiert (sie enthält noch keinen Wert).".
Ich hatte mich bei der Gestaltung des PHP- Code an einem Tutorial orientiert (https://www.soscisurvey.de/help/doku.php/de:create:functions:registervariable). In meinem Code scheint das allerdings nicht zu klappen.
Muss man registerVariable() anders verwenden oder habe ich einen Fehler gemacht?
Vielen Dank für jede Antwort!
Hier mein kompletter Code:
$nummerfrage = array(1, 2, 3, 4, 5, 6, 7, 8);
$nummerbz = array(1, 2, 3, 4, 5, 6, 7, 8);
// 1 - 4 fs, 5-8 bz
$nummerinv = array(1, 2, 3, 4, 5, 6, 7, 8);
// 1 - 4 high, 5-8 low
$realqst = array ();
$i = 0;
$k = 0;
$l = 0;
$m = 0;
shuffle($nummerfrage);
shuffle($nummerbz);
shuffle($nummerinv);
while($i < 8) {
$eins = array();
//keine Alt
if (value('RG1') == 1) {
if ($nummerfrage[$k] == 1)
{array_push ($eins, 'FN01','FN01', 'LN01', 'LN02');}
elseif ($nummerfrage[$k] == 2)
{array_push ($eins, 'FN03','FN04', 'LN03', 'LN04');}
elseif ($nummerfrage[$k] == 3)
{array_push ($eins, 'FN05','FN06', 'LN05', 'LN06');}
elseif ($nummerfrage[$k] == 4)
{array_push ($eins, 'FN07','FN08', 'LN07', 'LN08');}
elseif ($nummerfrage[$k] == 5)
{array_push ($eins, 'FN09','FN10', 'LN09', 'LN10');}
elseif ($nummerfrage[$k] == 6)
{array_push ($eins, 'FN11','FN12', 'LN11', 'LN12');}
elseif ($nummerfrage[$k] == 7)
{array_push ($eins, 'FN13','FN14', 'LN13', 'LN14');}
elseif ($nummerfrage[$k] == 8)
{array_push ($eins, 'FN15','FN16', 'LN15', 'LN16');}
}
//Alt
elseif (value('RG1') == 2) {
if ($nummerfrage[$k] == 1)
{array_push ($eins, 'FA01','FA02', 'LA01', 'LA02');}
elseif ($nummerfrage[$k] == 2)
{array_push ($eins, 'FA03','FA04', 'LA03', 'LA04');}
elseif ($nummerfrage[$k] == 3)
{array_push ($eins, 'FA05','FA06', 'LA05', 'LA06');}
elseif ($nummerfrage[$k] == 4)
{array_push ($eins, 'FA07','FA08', 'LA07', 'LA08');}
elseif ($nummerfrage[$k] == 5)
{array_push ($eins, 'FA09','FA10', 'LA09', 'LA10');}
elseif ($nummerfrage[$k] == 6)
{array_push ($eins, 'FA11','FA12', 'LA11', 'LA12');}
elseif ($nummerfrage[$k] == 7)
{array_push ($eins, 'FA13','FA14', 'LA13', 'LA14');}
elseif ($nummerfrage[$k] == 8)
{array_push ($eins, 'FA15','FA16', 'LA15', 'LA16');}
}
if (($nummerbz[$l] < 5) && ($nummerinv[$m] < 5))
{array_push ($realqst, $eins[0]);}
elseif (($nummerbz[$l] < 5) && ($nummerinv[$m] > 4))
{array_push ($realqst, $eins[1]);}
elseif (($nummerbz[$l] > 4) && ($nummerinv[$m] < 5))
{array_push ($realqst, $eins[2]);}
elseif (($nummerbz[$l] > 4) && ($nummerinv[$m] > 4))
{array_push ($realqst, $eins[3]);}
$i++;
$k++;
$l++;
$m++;
//registerVariable('realqst');
}
//auf den jeweiligen seiten
question($realqst[0]);
question($realqst[1]);