Quiz - Button 'nächste Frage'

doch tut es (siehe auch der Referenzauszug). Hatte ich mich da beim tippen nur übereilig vertan und daher editiert ;)
 
Ich habe irgendwie das Gefühl, das das Script nachdem man auf 'nächste Frage' geklickt hat nicht wieder von vorne anfängt, bzw. das die Variable $id wieder 1 zugewiesen bekommt. Ich habe das Script ma ein wenig gekürtzt und so hab ich es hochgeladen.
Code:
<?php
 include('connect.php');
 $id=1;
 $result = mysql_query("SELECT frage, antwort_a, antwort_b, antwort_c, antwort_d, antwort FROM quiz_fragen WHERE id=$id") or die (mysql_error());
 $row = mysql_fetch_row($result);
 echo"<table border=\"1\">";
 echo"<form action=\"\" method=\"post\">";
 echo"<input type=\"hidden\" name=\"action\" value=\"antworten\">";
 echo"<input type=\"hidden\" name=\"id\" value=\".$row[0].\">";
 echo"<tr>";
 echo"<td colspan=\"2\" align=\"left\">Frage&nbsp;".$id."</td>";
 echo"</tr>";
 echo"<tr>";
 echo"<td colspan=\"2\" align=\"center\">".$row[0]."</td>";
 echo"</tr>";
 echo"<tr>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_a\">".$row[1]."</a></td>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_b\">".$row[2]."</a></td>";
 echo"</tr>";
 echo"<tr>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_c\">".$row[3]."</a></td>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_d\">".$row[4]."</a></td>";
 echo"</tr>";
 echo"<td colspan=\"2\" align=\"center\">".$row[6]."</td>";
 echo"</table>";
 echo"<td colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"enter\">";
 echo"</form>";

 if ($action=="antworten" & $check==$row[5]) {
  echo "Richtig&nbsp;!";
  echo "<a href=\"$PHP_Self?id=".++$id."\">Nächste Frage</a>";
 }
 if ($action=="antworten" & $check!==$row[5]) {
  echo "Falsch&nbsp;!&nbsp;";
  echo "<a href=\"$PHP_Self?id=".++$id."\">Nächste Frage</a>";
 }
?>
 
Ja das ist ja logisch...

Du darfst $id nur auf 1 setzen wenn es noch KEINE $id gibt...Jetzt nimm folgender Code, ersetze ihn durch deinen und probiere es noch mal:

PHP:
<?php
 include('connect.php');
 if (!$id) $id=1;
 $result = mysql_query("SELECT frage, antwort_a, antwort_b, antwort_c, antwort_d, antwort FROM quiz_fragen WHERE id=$id") or die (mysql_error());
 $row = mysql_fetch_row($result);
 echo"<table border=\"1\">";
 echo"<form action=\"\" method=\"post\">";
 echo"<input type=\"hidden\" name=\"action\" value=\"antworten\">";
 echo"<input type=\"hidden\" name=\"id\" value=\".$row[0].\">";
 echo"<tr>";
 echo"<td colspan=\"2\" align=\"left\">Frage ".$id."</td>";
 echo"</tr>";
 echo"<tr>";
 echo"<td colspan=\"2\" align=\"center\">".$row[0]."</td>";
 echo"</tr>";
 echo"<tr>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_a\">".$row[1]."</a></td>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_b\">".$row[2]."</a></td>";
 echo"</tr>";
 echo"<tr>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_c\">".$row[3]."</a></td>";
 echo"<td><input type=\"radio\" name=\"check\" value=\"antwort_d\">".$row[4]."</a></td>";
 echo"</tr>";
 echo"<td colspan=\"2\" align=\"center\">".$row[6]."</td>";
 echo"</table>";
 echo"<td colspan=\"2\" align=\"right\"><input type=\"submit\" value=\"enter\">";
 echo"</form>";

 if ($action=="antworten" & $check==$row[5]) {
  echo "Richtig !";
  echo "<a href=\"$PHP_Self?id=".++$id."\">Nächste Frage</a>";
 }
 if ($action=="antworten" & $check!==$row[5]) {
  echo "Falsch ! ";
  echo "<a href=\"$PHP_Self?id=".++$id."\">Nächste Frage</a>";
 }
?>

PS: Die 2. Zeile habe ich geändert:

PHP:
 if (!$id) $id=1;
 
hm...ich weiss ja nicht was du unter "Code-kopieren" verstehst aber wenn ich sage du sollst mal "MEINEN" Code "kopieren" dann meine ich nicht damit dass du gerade einen Button machst und in einem hidden-Field den Wert "ErsteFrage?" mitgiebst...

Im hidden-Field mit dem Namen id musst du natürlich auch die ID übergeben...

PHP:
<input type="hidden" name="id" value=".$id++.">

Wenn ich dich wäre würde ich mal nachschauen für was ein hidden-Field ist und mal studieren was MEIN Code mit DEINEM Code gemeinsam hat...:mad: :mad:
 
Zurück