Hallo zusammen.
Ich habe ein (funktionerendes) Script, welches Fragen aus einer DB ausliest
und diese mit Antwortmöglichkeiten anzeigt ("Frage.php").
Die Antworten des Users werden in einer neuen Seite ("antwortpruefen.php") ausgewertet.
Das Prinzip einer Frage mit drei Antwortmöglichkeiten:
Frage.php (simple Form)
antwortpruefen.php (simple Form)
Soweit so gut.
Jetzt habe ich aber folgendes Problem im ersten Script "Frage.php":
Ich möchte nicht nur immer EINE Frage anzeigen,
sondern eine ganze Reihe Frage untereinander auflisten lassen.
Dafür müsste aber das Array Seite[] so umgebaut werden:
Für Frage 1:
seite1[]
seite1[]
seite1[], dann
für Frage 2:
seite2[]
seite2[]
seite2[], dann
für Frage 3:
seite3[]
seite3[]
seite3[],
für Frage "n" (die Anführungsstriche bitte wegdenken):
Seite"n"[]
Seite"n"[]
Seite"n"[] usw. je nachdem, wieviele Fragen angezeigt werden sollen
Die Anzahl der angezeigten Fragen ist variabel,
daher kann ich die Ziffern 1-n nicht fest vergeben -
sonst wäre das Prinzip wie oben.
Das muss dynamisch geschehen und damit komme ich nicht zurecht.
Mein Lösungsansatz:
---------------------------
Ich habe versucht das Array im Formular über eine Schleife for($i = 0 etc.) zusammenzubauen:
Das sieht dann im Formular so aus:
seite . $i . "[]" - soll dann seite1[] etc. ergeben (im Ausgabecode sieht das auch so aus)
aber ich weiß nicht,
a) ob das richtig ist und
b) wie ich das auswerte. Eine Übernahme der Formularwerte mit
klappt nicht. Hier habe ich mich festgefressen u.
komme nicht weiter.
Ich brauche irgendeine Schleife, die die
Anzahl der Fragen aus dem ersten Formular ausliest
(aus hiddenfeld möglich - o.k.),
und
dann das $_POST-Statement Punkt für Punkt ausliest,
damit ich jedes Array Seite1 bis Seite"n" in
das neue Dokument bekomme.
Kann mir jemand sagen, wie ich das anstellen muss?
Ich hoffe, ich habe mich klar ausgedrückt,
vielen Dank schon mal.
OlliU
Ich habe ein (funktionerendes) Script, welches Fragen aus einer DB ausliest
und diese mit Antwortmöglichkeiten anzeigt ("Frage.php").
Die Antworten des Users werden in einer neuen Seite ("antwortpruefen.php") ausgewertet.
Das Prinzip einer Frage mit drei Antwortmöglichkeiten:
Frage.php (simple Form)
PHP-Code:
echo "Hier steht irgendeine Frage...<br>";
echo "<form action=\"antwortpruefen.php\" method=\"post\">";
echo "<input type=\"checkbox\" name=\"seite[]\" value=\"Antwort1\"> Antwort1<br>";
echo "<input type=\"checkbox\" name=\"seite[]\" value=\"Antwort2\"> Antwort2<br>";
echo "<input type=\"checkbox\" name=\"seite[]\" value=\"Antwort3\"> Antwort3<br>";
echo "<input type=\"submit\" value=\"Antwort prüfen\">";
echo "</form>";
PHP-Code:
//Variablen-Array aus Frage.php übernehmen
$seite = $_POST['seite'];
foreach ($seite as $ergebnis)
{
echo "$ergebnis<br>";
}
Jetzt habe ich aber folgendes Problem im ersten Script "Frage.php":
Ich möchte nicht nur immer EINE Frage anzeigen,
sondern eine ganze Reihe Frage untereinander auflisten lassen.
Dafür müsste aber das Array Seite[] so umgebaut werden:
Für Frage 1:
seite1[]
seite1[]
seite1[], dann
für Frage 2:
seite2[]
seite2[]
seite2[], dann
für Frage 3:
seite3[]
seite3[]
seite3[],
für Frage "n" (die Anführungsstriche bitte wegdenken):
Seite"n"[]
Seite"n"[]
Seite"n"[] usw. je nachdem, wieviele Fragen angezeigt werden sollen
Die Anzahl der angezeigten Fragen ist variabel,
daher kann ich die Ziffern 1-n nicht fest vergeben -
sonst wäre das Prinzip wie oben.
Das muss dynamisch geschehen und damit komme ich nicht zurecht.
Mein Lösungsansatz:
---------------------------
Ich habe versucht das Array im Formular über eine Schleife for($i = 0 etc.) zusammenzubauen:
Das sieht dann im Formular so aus:
PHP-Code:
name='"seite" . $i . "[]"'
aber ich weiß nicht,
a) ob das richtig ist und
b) wie ich das auswerte. Eine Übernahme der Formularwerte mit
PHP-Code:
//Auslesen Anzahl der Fragen aus Frage.php...
//Schleife bauen
//in der Schleife jedes Array Seite1-Seite"n" holen
$_POST['seite' . $i] //DAT IS MURKS!!!
komme nicht weiter.
Ich brauche irgendeine Schleife, die die
Anzahl der Fragen aus dem ersten Formular ausliest
(aus hiddenfeld möglich - o.k.),
und
dann das $_POST-Statement Punkt für Punkt ausliest,
damit ich jedes Array Seite1 bis Seite"n" in
das neue Dokument bekomme.
Kann mir jemand sagen, wie ich das anstellen muss?
Ich hoffe, ich habe mich klar ausgedrückt,
vielen Dank schon mal.
OlliU
Kommentar