Ich hatte mir das so gedacht, das man die Rätsel komplett in eine Datei packt und am Ende jeweilis die Verarbeitung per PHP-Include aufruft. SQL will ich nicht verwenden, mit Datei Operation (und Flatfiles) kenn ich mich als Anfänger nu gar nicht aus. War schon froh dass das mit dem Array bisher so gut geklappt hat. Im Prinzip könnte man es auch andersherum lösen, und den Antwort wert früher legen, um dann am Ende so viele Antwortmöglichkeiten wie man will zu nutzen.
Hier mal mein derzeitiger Scriptstand:
<html>
<head>
<title>SQUEALER.net Rock-Rätsel</title>
<link rel=stylesheet type="text/css" href="http://www.squealer.net/squealer.css">
</head>
<body><center>
<?php
// FragenArray: lfd. Nr.; 1 Zeile - Frage; Zeile 2-5 - Antwortmöglichkeiten; Zeile 6 - richtige Antwort (1,2,3,4)
$QUIZ_QUESTION['1'] = array(
'Welche Gitarre wird auch als "die schwarze Göttin" bezeichnet?',
'Fender Stratocaster',
'Gibson Les Paul',
'Gibson SG',
'Gibson Flying V',
'2',
'0');
$QUIZ_QUESTION['2'] = array(
'Welche Firma gilt als die weltweite Nummer 1 in Sachen Verstärker?',
'Park',
'Peavey',
'Fender',
'Marshall',
'4',
'0');
$QUIZ_QUESTION['3'] = array(
'Thema Shock Rock - Früher fragte man sich: Who is more freaky? Um welche zwei Künstler dreht sich diese Frage?',
'Vincent Fournier & Alice Cooper',
'Alice Cooper & Marilyn Manson',
'Alice Cooper & Ozzy Osbourne',
'Gene Simmons & Ozzy Osbourne',
'3',
'0');
$QUIZ_QUESTION['4'] = array(
'Über welche Musiker in einer Rockband wird mit einem Augenzwinkern behauptet das sie ein bißchen dämlich sind?',
'Bassisten',
'Drummer',
'Sänger',
'Keyboarder',
'1',
'0');
$QUIZ_QUESTION['5'] = array(
'Was ist am Schlagzeuger von Def Leppard besonders?',
'Er spielt im Stehen',
'Er hat nur ein Bein',
'Er hat ein kaputtes Schlagzeug',
'Im fehlt ein Arm',
'4',
'0');
$QUIZ_QUESTION['5'] = array(
'Welcher Gitarrist kam in jungen Jahren bei einem Flugzeugabsturz um´s Leben?',
'Rhandy Roads',
'Dimebag Darrel',
'Cliff Burton',
'Jimi Hendrix',
'1',
'0');
$QUIZ_QUESTION['6'] = array(
'Welches ist der heute meist gespielten Gitarrentyp in puncto E-Klampfe? ',
'Gibson SG',
'Fender Stratocaster',
'Gibson Flying V',
'Gibson Les Paul',
'2',
'0');
$QUIZ_QUESTION['7'] = array(
'Was veranlasste die Firma GIBSON dazu die SG zu entwickeln? ',
'Die Entwicklung des Rock n´ Roll',
'Die Gründung der Beatles',
'Den Bedarf an einer richtigen E-Gitarre',
'Die Konkurrenz durch den Stratocaster',
'4',
'0');
?>
<div style="width:600px; text-align:left; background:#000;">
<h1>SQUEALER.net QUIZ</h1>
<?php
// Prüfen ob Seite angegeben ist, ansonsten mit Seite 1 starten.
if ($_GET['q'] == 0) {
$x = ('1');
}
else { $x = $_GET['q']; }
//Prüfung ob alle Fragen abgearbeitet sind
if ($QUIZ_QUESTION[$x] == ('')) {
// Auswertung wenn alle Fragen abgearbeitet sind
echo ('<h6>Dein Ergebnis:</h6>');
echo ('<div class="gbody">');
for ($y=1;$y<$x;$y++) {
echo ('Frage '.$y.': ');
if ($question[$y][6] == '1') {
echo ('<span style="color:#0c0;"><b>RICHTIG</b></span><br>');
}
else {
echo ('<span style="color:#f00;"><b>Falsch</b></span><br>');
}
}
echo ('</div>');
}
//Ansonsten darstellung der nächsten Frage
else {
//Darstellung von Frage und Antworten:
echo ('<h6>Quiz 1</h6><div class="gbody">');
echo ('<b>Frage '.$x.': </b>'.$QUIZ_QUESTION[$x][0]);
echo ('<br><br>');
// Provisorisch um w/f variable zu prüfen
echo ('L:'.$question[$x-1][6].'<br><br>');
echo ('<b>Antwortmöglichkeiten:</b>');
echo ('<form action="?q='.($x+1).'" method="post">');
echo ('<div style="margin-left:30px;">');
// eventuell Schleife zur Überprüfung der Anzahl von Antworten einfügen
echo ('Antwort 1: <input type="Radio" name="antwort" value="1" title="1">'.$QUIZ_QUESTION[$x][1].'<br>');
echo ('Antwort 2: <input type="Radio" name="antwort" value="2" title="2">'.$QUIZ_QUESTION[$x][2].'<br>');
echo ('Antwort 3: <input type="Radio" name="antwort" value="3" title="3">'.$QUIZ_QUESTION[$x][3].'<br>');
echo ('Antwort 4: <input type="Radio" name="antwort" value="4" title="4">'.$QUIZ_QUESTION[$x][4].'<br><br>');
echo ('<input type="submit" value="Weiter"></form>');
echo ('<br>');
//Prüfung der vorherigen Antwort, wenn Variable gesetzt.
if ($x < 2) {}
else {
echo ('<hr>Frage '.($x-1));
echo ('<br><b>Deine Antwort war:</b>');
echo ('<br>Antwort-Nr: '.$antwort.' - '.$QUIZ_QUESTION[$x-1][$antwort]);
echo ('<br><br><b>Die richtige Antwort war:</b>');
echo ('<br>Antwort-Nr: '.$QUIZ_QUESTION[$x-1][5].' - '.$QUIZ_QUESTION[$x-1][$QUIZ_QUESTION[$x-1][5]]);
if ($QUIZ_QUESTION[$x-1]['5'] == $antwort) {
echo ('<br><br>Das war <span style="color:#0c0;"><b>RICHTIG</b></span>');
// Wert 6 des Fragenarrays auf richtig (1) oder falsch (0) setzen
$QUIZ_QUESTION[$x][6] = '1';
//$QUIZ_QUESTION[$x][6] = ('1');
}
else {
echo ('<br><br>Das war <span style="color:#f00;"><b>Falsch</b></span>');
}
}
}
echo ('</div>');
?>
<br><br>
<br>
<br>
<small>Quiz © 2005 by EDV-Krischer</small>
</div>
</div></center>
</body>
</html>
Testversion ist hier online:
->
http://www.squealer.net/quiz.php