Fragen um 2 erweitern
Florian
- php
Hallo zusammen :)
Ich sitzt hier gerade an einem Gewinnspiel welches eine Frage mit mehrern Antwortmöglichkeiten hat. Dies funktioniert soweit auch ganz gut :) Nur würde ich gerne dieses Script um zwei Frage erweitern, so dass zum Schluss 3 richtige Antworten da sein müssen um zu gewinnen ;)
Ich bekomme das irgendwie nicht hin, ausser das ich bei der Ausgabe 3 Frage habe, aber Script nur eine Frage + eine richtige Antwort speichert und überprüft :(
Hoffe mir könnte einer das etwas erklären bzw. wo ich ich was erweitern muss, dass das Script auch funktioniert mit 3 Fragen.
Danke schonmal im Voraus.
MfG Florian
Hier das Scirpt (admin wo die frage + antwort erstellt wird)
<form name="form1" method="post" action="quiz_admin.php"> <table width="80%" border="0" align="center" cellpadding="2" cellspacing="2"> <tr> <td bgcolor=""><font size="2" face="Arial, Helvetica, sans-serif"><a href="quiz_admin.php?win=1"><font color="#0000CC"><strong>Gewinner /-in des laufenden Gewinnspiels ermitteln</strong></font></a></font></td> </tr> </table> <font size="2" face="Arial, Helvetica, sans-serif"><br> </font> <table width="80%" border="0" align="center" cellpadding="2" cellspacing="2" class="rahmen"> <tr bgcolor="#C0C0C0"> <td colspan="2"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Neues Gewinnspiel starten</strong></font></td> </tr> <tr> <td width="31%"><font size="2" face="Arial, Helvetica, sans-serif">1. Frage </font></td> <td width="69%"><font size="2" face="Arial, Helvetica, sans-serif"> <input name="question" type="text" class="inputtext" id="question" size="80"> </font></td> </tr> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif">1. Wieviele Antwortmöglichkeiten soll es geben (Anzahl eingeben)?</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="count" type="text" class="inputtext" id="count" size="10"> </font></td> </tr> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif">Geben Sie das Datum für das Ende des Gewinnspiels ein</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="tag" type="text" class="inputtext" id="tag" size="2" maxlength="2"> . <input name="monat" type="text" class="inputtext" id="monat" size="2" maxlength="2"> . <input name="jahr" type="text" class="inputtext" id="jahr" size="4" maxlength="4"> z.B. 23.05.1949</font></td> </tr> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif">Das kann man gewinnen:</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="gewinn" type="text" class="inputtext" id="gewinn" size="80"> </font></td> </tr> <tr> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="sent" type="hidden" id="sent" value="1"> </font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="Submit" type="submit" class="inputtext" value="weiter"> </font></td> </tr> </table> </form> <font size="2" face="Arial, Helvetica, sans-serif"> <? } else
{ if($sent==1) { $check = checkdate("$monat","$tag","$jahr"); if($check != 1) {die("Der $tag.$monat.$jahr ist kein korrektes Datum.<br><br><a href="javascript:history.go(-1);">«« Zurück </A>");}
?> </font> <form action="quiz_admin.php" method="post" enctype="multipart/form-data" name="form1"> <table width="90%" border="0" align="center" cellpadding="2" cellspacing="2" class="rahmen"> <tr bgcolor="#C0C0C0"> <td colspan="2"><font color="#000000" size="2" face="Arial, Helvetica, sans-serif"><strong>Neues Gewinnspiel starten</strong></font></td> </tr> <?PHP for($x=1;$x<=$count;$x++){ echo "<tr><td width="31%"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">Anwort $x</font> </td><td width="69%"><input name="answer[]" type="text" id="answer$x" class="inputsubmit"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif">richtige Antwort <input type="radio" name="correct" value="$x"></font></td></tr>"; } echo " <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> Bitte markieren Sie die korrekte Antwort mit dem Optionsschalter nach dem Texteingabefeld</font> <input name="question" type="hidden" id="question" value="$question"> <input name="gewinn" type="hidden" id="gewinn" value="$gewinn"> <input name="tag" type="hidden" value="$tag"> <input name="monat" type="hidden" value="$monat"> <input name="jahr" type="hidden" value="$jahr">"; ?>
<tr> <td><font size="2" face="Arial, Helvetica, sans-serif">Bild des Gewinns hochladen (optional)</font></td> <td><font size="2" face="Arial, Helvetica, sans-serif"> <input name="grafik" type="file" class="inputtext" id="grafik" size="50"> nur im .jpg Format</font></td> </tr> <tr> <td width="31%"><font size="2" face="Arial, Helvetica, sans-serif"> <input name="sent" type="hidden" id="sent" value="2"> </font></td> <td width="69%"><font size="2" face="Arial, Helvetica, sans-serif"> <input name="Submit2" type="submit" class="inputtext" value="weiter"> </font></td> </tr> </table> </form> <font size="2" face="Arial, Helvetica, sans-serif"> <?PHP } if($sent==2) { echo "<table width="300" border="0" align="center" cellpadding="2" cellspacing="0"> <tr> <td>"; //save data
//reset IP-File $fpip = fopen("$dbip", "w+"); fclose ($fpip);
//reset winnerfile $fpwinner = fopen("$winner", "w+"); fclose ($fpwinner);
//save question $dbquestion="question.txt"; $fp = fopen("$dbquestion", "w+"); if($fp){ flock($fp,2); fputs ($fp, "$question"); flock($fp,3); fclose ($fp); }
//save possible answers $dbanswer="answer.txt"; $fp4 = fopen("$dbanswer", "w+"); fclose ($fp4); for($x=0;$x<count($answer);$x++) { $fp5 = fopen("$dbanswer", "a+"); if($fp5){ flock($fp5,2); fputs ($fp5, "$answer[$x]\n"); flock($fp5,3); fclose ($fp5); }
//create countfiles $fp1 = fopen("$x.txt", "w+"); if($fp1){ flock($fp1,2); fputs ($fp1, "0"); flock($fp1,3); fclose ($fp1); } } //create correct answer-file $fp2 = fopen("$correctfile", "w+"); if($fp2) { fputs ($fp2, "$correct"); fclose ($fp2); } //create questionsfile $temp = "temp.htm"; $fp6 = fopen("$temp", "w+"); fclose($fp6); $ziffern = file($dbanswer); while (list ($line_num, $line) = each ($ziffern)) { $value="$line_num"+"1"; $frage="<tr> <td width="70%" align="right"><font size="2" face="Arial, Helvetica, sans-serif">$line</font></td> <td width="30%" align="left"><input type="radio" name="answer" value="$value"></td> </tr>"; $fp6 = fopen("$temp", "a+"); if($fp6){ flock($fp6,2); fputs ($fp6, "$frage"); flock($fp6,3); fclose ($fp6);} } $date = "$tag.$monat.$jahr"; $timestamp = mktime("23","59",59,"$monat","$tag","$jahr"); $datum = "date.txt"; $fp8 = fopen("$datum", "w+"); fputs($fp8, $timestamp); fclose($fp8); @chmod($datum,0766);
@unlink($bildname); //Bild hochladen @move_uploaded_file($grafik, $bildname); if(is_file($bildname)) {$bild = "<img src="$bildurl" alt="Gewinn">";} else {$bild = "";} //open template and fill in data $f = fopen("$temp", "r"); $antwort = fread ($f, filesize ($temp)); fclose ($f); $template = "template.htm"; $templatefile = fopen("$template", "r"); $html = fread ($templatefile, filesize ($template)); $html = ereg_replace("%date%", "$date", "$html"); $html = ereg_replace("%frage%", "$question", "$html"); $html = ereg_replace("%antwort%", "$antwort", "$html"); $html = ereg_replace("%gewinn%", "$gewinn", "$html"); $html = ereg_replace("%bild%", "$bild", "$html"); $html = ereg_replace("%quizurl%", "$quizurl", "$html"); fclose ($templatefile); //generate quizform $inputform = "spiel.php"; $fp7 = fopen("$inputform", "w+"); if($fp7){ flock($fp7,2); fputs ($fp7, "$html"); flock($fp7,3); fclose ($fp7);} echo "<font size="2" face="Arial, Helvetica, sans-serif"><b>Das Gewinnspiel wurde erfolgreich eingerichtet.</b><br><br<br> Zum <a href="#" target="_blank">Gewinnspiel</a></font><p>Zum <a href="">Admin-Bereich</a>"; }} //Gewinner ermitteln if(isset($win)) { $daten = file($winner); //Doppelte Einträge entfernen array_unique($daten); shuffle($daten); $count = count($daten); while (list ($line_num, $line) = each ($daten)) { $gewinnerdaten = explode("&&",$line); $name = $gewinnerdaten[1]; $email = $gewinnerdaten[0]; } echo "<font size="2" face="Arial, Helvetica, sans-serif"><b>Es sind $count richtige Lösungen eingegangen.<br> Aktualisieren Sie ihren Browser um per Zufall den Gewinner /-in zuermitteln.<br><br>"; //Zufallsausgabe einer Adresse echo "<p><br><br>Der Gewinner /-in ist: <br>Name: $name<br>email: <a href="mailto:$email">$gewinnerdaten[0]</a><br><br>Klicken Sie auf die email-Adresse, um den Gewinner /-in zu benachrichtigen.</font></p><br><br><br> Klicken Sie <a href="quiz_admin.php" class="link">hier</a> um zurück zukehren."; } ?>
Hallo Florian,
Nur würde ich gerne dieses Script um zwei Frage erweitern, so dass zum Schluss 3 richtige Antworten da sein müssen um zu gewinnen ;)
Bist du identisch mit Sven aus https://forum.selfhtml.org/?t=110738&m=695428 Falls ja, mache bitte dort weiter und klatsch uns nicht einfach den Code hin. Was hast du schon ausprobiert, und was hat nicht geklappt?
Grüße,
Jochen
Hi,
Bist du identisch mit Sven aus https://forum.selfhtml.org/?t=110738&m=695428 Falls ja, mache bitte dort weiter und klatsch uns nicht einfach den Code hin.
Womit der Sieger des Wettbewerbs "dreistester User des Sommers 2005" wohl feststehen dürfte. =:-o
Gruß, Cy-"leider ist mein Quiz, daß das kann, nicht öffentlich"-baer
Hi,
Hier das Scirpt (admin wo die frage + antwort erstellt wird)
[...]
der relevante code hätte genügt, vll, solltest du anstatt mit hidden feldern mit session arbeiten, des weiteren könnte dir etwas wie frage1 helfen bzw. als name frage[] und nicht allen den gleichen namen geben das ist uncool und vorallem überschreibt sich das dann gegenseitig. schonmal daran gedacht?
Außerdem, dir ist schon klar das der zurück-button nur funktioniert wenn JS an ist? ein
echo "<a href='$_SERVER[HTTP_REFERER]'>zurück</a>";
ist da schöner, des weiteren solltest du die formatierungen der schrift &co in nem css machen. macht den code übersichtlicher.
MfG