Quiz
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
antworten
anzahl
button
code
date
datei
datensatz
erstellen
formular
frage
last
login
monat
quiz
radio
schleife
system
tabelle
tag
-
Hi,
ich möchte eine tag/quiz">Quizseite erstellen, wo jeder ein Quiz erstellen kann.
Dieses soll dann abgeschickt werden und muss dann von einer Person freigeschaltet werden.
Man soll max 4 Antwortsmöglichkeiten angeben können und eine davon ist halt richtig.
Wenn man richtig angewortet hat, kriegt man Pkt, wenn nicht, werden welche abgezogen.
Wie würdet ihr das jetzt machen?
Die Nutzer sollen sich auch anmelden können.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Erwartest du jetzt, dass dir hier jemand ein komplettes Script codet?
Wir wohl eher nicht so sein.
Du solltest das ganze erstmal etwas aufteilen.
Voraussetzung ist natürlich, dass du zumindest mittlere PHP-Kenntnisse besitzt.
Teile Login-System und User-Anmeldung und programmiere einfach drauf los.
Wenn du Schwierigkeiten bei irgendeinem bestimmten Problem hast, wird dir hier bestimmt jemand im Forum helfen. -
mit php/(x)HTML/CSS/Mysql^^
Formular:
ne also ich glaub du brauchst ein paar radio buttons...ok einer der angibt welche antwort richtig sein soll dazu für jede Antwort ein Textfeld das kommt in eine Tabelle,
Erstmal 2 textfelder( <input type="text">) für Name+Frage und <Select> um Antwort möglichkeiten auszuwählen...dann das ganze an eine weitere datei schicken dort wird der eintrag für ein quiz/frage erstellt
...dann holst du die id mit mysql_insert_id()
...dann wieder formular(anzahl die vorher ausgewählt wurde), sowie radio button
...dann wird das ganze abgeschickt und in DB eingetragen....
also tabellen/spalten: ID, quiz_title, A1, A2, A3, A4, RightAnswer
in RightAnswer kommt eine zahl zwischen 1-4 (Antworten)
in A1-A4 die Antworten
quiz Title = frage...oder man macht noch eine Extra spalte für eine Frage...dann müsste man aber noch eine tabelle anlegen um Normalformen einzuhalten...gibt viele möglichkeiten
...und das ganze noch mit login system verknüpfen also user_id und so...
Beitrag geändert: 2.10.2008 23:39:01 von myhead -
Hallo seth93,
ich habe schon einmal ein Bioquiz für die Schule mit PHP erstellt. Siehe: http://steffenspier.tk/bio_quiz . Das Script lädt die Fragen vollautomatisch aus Textdateien und erstellt eine Bestenliste. Falls Interesse besteht, poste ich gerne Code.
Gruß
steffens
Beitrag geändert: 3.10.2008 11:39:56 von steffens
So könnte man eine Datei quiz.txt vom Typ
[Titel]
[Leerzeile]
[Frage]
[Antwort a]
[Antwort b]
[Antwort c]
[Antwort d]
[Richtige Antwort]
[Leerzeile]
[...]
lesen:
$frage = $_GET['frage']; $count = $_GET['count']; $antworten = $_GET['antworten']; $stage= $_GET['stage']; $name = $_GET['name']; $klasse = $_GET['klasse']; $schule = $_GET['schule']; $datei = "quiz.txt"; $datensatz = file($datei); $tag = date(d); $monat = date(m); $richtig = $count/$monat/$tag; $aktuell = $frage*7-5; $letzte = ($frage-1)*7-5; $frageak = $datensatz[$aktuell]; $a = $datensatz[$aktuell+1]; $b = $datensatz[$aktuell+2]; $c = $datensatz[$aktuell+3]; $d = $datensatz[$aktuell+4]; if(!$frage or !isset($frage)) { $frage = 0; } $frageneu = $frage+1; $anzahl = count($datensatz); $last = ($anzahl-1)/7; for ($schleife = 2; $schleife < $last+2; $schleife++) { $answers[] = $datensatz[$schleife*7-7]; } $richtigeantwortens = array_slice($answers, 0, $frage-1); $richtigeantwortenalt = array_slice($answers, 0, $frage-2); $richtigeantwortenhalt = implode('', $richtigeantwortenalt); $richtigeantwortenhalt = str_replace("n","", $richtigeantwortenhalt); $richtigeantwortenhalt = str_replace("r","", $richtigeantwortenhalt); if (@strpos(" $antworten", $richtigeantwortenhalt) == false && $frage != "0" && $frage != "1" && $frage != "x" && $frage != "2" or !isset($count) && $frage != "0" && $frage != "1" && $frage != "x" or $count>$last*$monat*$tag) { echo "Fehler!</body></html>"; break; } else { } if(!$count or !isset($count)) { $count = $last*$monat*$tag; } $countneu = $count-$monat*$tag; $richtigeantworten = implode('', $richtigeantwortens); $richtigeantworten = str_replace("n","", $richtigeantworten); $richtigeantworten = str_replace("r","", $richtigeantworten); $richtigak = $datensatz[$aktuell-2]; $richtigak = str_replace("n","", $richtigak); $richtigak = str_replace("r","", $richtigak); $richtigak = strtoupper($richtigak); if ("A" == $richtigak && $frage != "1" && $frage != "0" && $frage != "x") { $richtigwar = $datensatz[$letzte+1]; } else if ("B" == $richtigak && $frage != "1" && $frage != "0" && $frage != "x") { $richtigwar = $datensatz[$letzte+2]; } else if ("C" == $richtigak && $frage != "1" && $frage != "0" && $frage != "x") { $richtigwar = $datensatz[$letzte+3]; } else if ("D" == $richtigak && $frage != "1" && $frage != "0" && $frage != "x") { $richtigwar = $datensatz[$letzte+4]; } else if ( "1" == $frage or $frage == "0" or $frage == "x") { } else { echo "Fehler!"; }
Beitrag geändert: 3.10.2008 12:53:25 von steffens
Beitrag geändert: 3.10.2008 13:03:09 von sebigisler -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage