Problem beim Wissensquiz: Fehler bei der Punktevergabe

DreamTeam-World

Grünschnabel
Hallo zusammen,

habe ein kleines Problem mit meinem Wissensquiz. Funktionieren tut es soweit. Liest brav aus der DB die Fragen und die Antworten aus. Allerdings will es nicht so mit der Punkte vergabe klappen. Das seltsame ist ... im IE-Browser funktioniert es, jedoch aber nicht im firefox-Browser. Jetzt frag ich mich woran das liegen kann.

Kann mir jemand bei diesem Problem helfen? Ich weiss leider nicht wieso das in dem einem Browser funktioniert und in dem anderen wiederum nicht.

Hier einmal die beiden dateien die für die Punkte vergabe wichtig sind:

Datei: quiz.php

PHP:
<?php
include("");

session_start();

$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");

if (!$verbindung)
{
	echo "Keine Verbindung möglich!\n";
 	exit;
}

//Funktion zur Generierung der Zufallszahl aus Minimum und Maximum
function get_random($min,$max)
{

  $array = range($min,$max);
  settype($min,"integer");
  settype($max,"integer");
  srand((double)microtime() * 10000000);
  $zufall = array_rand($array);
  return $array[$zufall];
}
		//Auswählen des Minimums und Maximums der FragenID entsprechend der ThemenID
        $kleinstes = mysql_query("SELECT MIN(FragenID) FROM fragen WHERE ThemenID='".$_GET['fid']."'");
		$row = mysql_fetch_array($kleinstes);
		$min = $row[0];

		$grosses = mysql_query("SELECT MAX(FragenID) FROM fragen WHERE ThemenID='".$_GET['fid']."'");
		$row = mysql_fetch_array($grosses);
		$max = $row[0];

//Funktion zur Prüfung ob die Zufallszahl doppelt in der Tabelle Spiel vorhanden ist
function check_random($zufall)
{
  $query = mysql_query("SELECT SpielID FROM spiel WHERE FragenID='".$zufall."' && sessID='".session_id()."'");
  if(mysql_num_rows($query)>0)
  {
    return false;
  } else {
  	$sql1 = mysql_query("INSERT INTO spiel(SpielID,FragenID,sessID,Datum) VALUES('','".$zufall."','".session_id()."','".time()."')");
    return true;

  }
}
//Prüfen ob bereits 10 Fragen gestellt wurden
$query = mysql_query("SELECT SpielID FROM spiel WHERE sessID='".session_id()."'");

if(mysql_num_rows($query)>9)
{
  echo "<meta http-equiv=\"refresh\" content=\"1; URL=quizhinweis.php\">";
}
else {
//Püfen ob Zufallszahl für Fragen in Tabelle Spiel steht, JA: Erneuter Aufruf von get random
  while (!$right_number)
   {
      $zufall = get_random($min,$max);

     if(check_random($zufall))
     {
      $right_number = 1;
	 }
   }
}		//Auswählen des Minimums Maximums der AntwortID entsprechend der FragenID
		$kleinstes1 = mysql_query("SELECT MIN(AntwortID) FROM antworten WHERE FragenID='".$zufall."' ");
		$row1 = mysql_fetch_array($kleinstes1);
		$min1 = $row1[0];

		$grosses1 = mysql_query("SELECT MAX(AntwortID) FROM antworten WHERE FragenID='".$zufall."' ");
		$row1 = mysql_fetch_array($grosses1);
		$max1 = $row1[0];
		//Generierung der zufälligen Ausgaben für die Antworten
		$array1 = range($min1,$max1);
		settype($min1,"integer");
  		settype($max1,"integer");
		shuffle($array1);
		for($x=0; $x< count($array1); $x++)
		{
			$ant1 = array_shift($array1);
			$ant2 = array_shift($array1);
			$ant3 = array_shift($array1);
			$ant4 = array_shift($array1);
		}

  //Hier werden die Fragen, Antworten und Tipps aus den Tabellen geholt und in Variablen gespeichert
  //Diese werden in den entsprechenden Textfeldern ausgegeben.
  $frage = mysql_query("SELECT Fragen FROM fragen WHERE FragenID='".$zufall."'");
  $row = mysql_fetch_array($frage);

  $antwort1 = mysql_query("SELECT Antwort FROM antworten WHERE AntwortID='".$ant1."'");
  $aus1 = mysql_fetch_array($antwort1);

  $antwort2 = mysql_query("SELECT Antwort FROM antworten WHERE AntwortID='".$ant2."'");
  $aus2 = mysql_fetch_array($antwort2);

  $antwort3 = mysql_query("SELECT Antwort FROM antworten WHERE AntwortID='".$ant3."'");
  $aus3 = mysql_fetch_array($antwort3);

  $antwort4 = mysql_query("SELECT Antwort FROM antworten WHERE AntwortID='".$ant4."'");
  $aus4 = mysql_fetch_array($antwort4);

    echo mysql_error();

include("kopf.php");
?>

<td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000"  valign="top">
	<center>
		<table width="550"  border="0" valign="top">
			<tr>
				<td width="505">&nbsp;

					<p>&nbsp;</p>

<center>
<table border="1" width="500" bgcolor="999999">
    <tr>
      <td colspan="2">
	  	  <center><b><?php echo $row['Fragen']; ?></b></td>
    </tr>

    <tr>
    	<td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    	<td colspan="2">&nbsp;</td>
    </tr>

    <tr>
    	<td width="250">
    	<a href ="quizauswertung.php?fid=<? echo $zufall ?>&antwortid=<?php echo $ant1 ?>&rueck=http://www.dreamteam-world/quiz.php?fid=<? echo $_GET['fid'] ?>">
        <center><b><?php echo $aus1['Antwort']; ?></b></center></a>
	    </td>

	  	<td width="250">
      	<a href ="quizauswertung.php?fid=<? echo $zufall ?>&antwortid=<?php echo $ant2 ?>&rueck=http://www.dreamteam-world/quiz.php?fid=<? echo $_GET['fid'] ?>">
        <center><b><?php echo $aus2['Antwort']; ?></b></center></a>
	    </td>
	</tr>

    <tr>
    	<td width="250">
	  	<a href ="quizauswertung.php?fid=<? echo $zufall ?>&antwortid=<?php echo $ant3 ?>&rueck=http://www.dreamteam-world/quiz.php?fid=<? echo $_GET['fid'] ?>">
        <center><b><?php echo $aus3['Antwort']; ?></b></center></a>
	    </td>

	  	<td width="250">
      	<a href ="quizauswertung.php?fid=<? echo $zufall ?>&antwortid=<?php echo $ant4 ?>&rueck=http://www.dreamteam-world/quiz.php?fid=<? echo $_GET['fid'] ?>">
        <center><b><?php echo $aus4['Antwort']; ?></b></center></a>
	    </td>
    </tr>

    <tr>
    	<td colspan="2">&nbsp;</td>
    </tr>
    <tr>
    	<td colspan="2">&nbsp;</td>
    </tr>

    <tr>
      <td colspan="2">
	  	<a href="quizauswahl.php?start=1"><center>Zurück zur Auswahl</center></a>
	  </td>
    </tr>
</table>
</center>

				</td>
            </tr>
        </table>
    </center>
</td>

<?php
include("fuss.php");
?>

Datei: quizauswertung.php

PHP:
<?php
include("");

session_start();

$verbindung = @mysql_connect("$sqlhost","$sqluser","$sqlpass");

 if (!$verbindung)
 {
 		echo "Keine Verbindung möglich!\n";
 		exit;
 }

$Zu = $_GET['rueck'];

// Hier wird die ID der Richtigen Antwort ausgwählt
$richtig = mysql_query("SELECT richtig FROM fragen WHERE FragenID='".$_GET['fid']."' ");
$row2 = mysql_fetch_array($richtig);
$row3 = $row2['richtig'];

// Variablen für die Punktevergabe
$r = 10;
$f = 0;

// Antwort ID wird mit dem Übergebenen Wert verglichen
if ($row3==$_GET['antwortid'])
{
	// Punktevergabe für die richtige Antwort
	$sql = mysql_query("UPDATE spiel SET Punkte='".$r."' WHERE FragenID='".$_GET['fid']."' && sessID='".session_id()."' ");
	// Summe der Punkte wird ausgelesen
	$punkte = mysql_query("SELECT SUM(Punkte) AS punkte  FROM spiel WHERE sessID='".session_id()."' ");
	$punkte1 = mysql_fetch_array($punkte);
	$punkte2 = $punkte1['punkte'];

include("kopf.php");
?>

<td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000"  valign="top">
	<center>
		<table width="550"  border="0" valign="top">
			<tr>
				<td width="505">&nbsp;

					<p>&nbsp;</p>
<center>
<table border="1" width="500" bgcolor="999999">
	<tr>
		<td>
			<center><b>Die Antwort ist Richtig!</b>
		</td>
    </tr>
</table>

<table border="1">
	<tr>
		<td><center><b>Ihre Aktuelle Punktzahl beträgt:</b><br>
		  	<font color="red"><?php echo $punkte2 ?></font></center>
	  	</td>
	 </tr>
	 <tr>
		<td>
			<center><font color="red"><?php echo $punkte2 ?></font></center>
	  	</td>
	 </tr>
	 <tr>
		<td>
	    	<center><a href=><?php echo $Zu ?> Nächste Frage</a></center>
	  	</td>
     </tr>
</table>
</center>

</td>
            </tr>
        </table>
    </center>
</td>

<?php
include("fuss.php");
?>

<?php
//wird ausgeführt wenn die Bedingung false ist
}else
	{
	  //Punktevergabe für eine falsche Antwort
	  $sql = mysql_query("UPDATE spiel SET Punkte='".$f."' WHERE Datum='".time()."' ");
	  //Summe der Punkte wird ausgelesen
	  $punkte3= mysql_query("SELECT SUM(Punkte) AS punkte  FROM spiel WHERE sessID='".session_id()."' ");
	  $punkte4= mysql_fetch_array($punkte3);
	  $punkte5= $punkte4['punkte'];
	  //Richtige Antwort wird ausgelesen
	  $richtig = mysql_query("SELECT Antwort FROM antworten WHERE AntwortID='".$row3."' ");
	  $richtig1 = mysql_fetch_array($richtig);
	  $richtig2 = $richtig1['Antwort'];

include("kopf.php");
?>

<td bgcolor="C0C0C0" width="570" height="436" style="border: 1px solid #000000"  valign="top">
	<center>
		<table width="550"  border="0" valign="top">
			<tr>
				<td width="505">&nbsp;

					<p>&nbsp;</p>


<table border="1">
	<tr>
		<td>
			<center><b>Die Antwort ist Falsch!</b></center>
		</td>
    </tr>
    <tr>
    	<td>
    		<center>Die Richtige Antwort lautet:<br><b><?php echo $richtig2 ?></b></center>
    	</td>
    </tr>
</table>

<table border="1">
	<tr>
		<td><center><b>Ihre Aktuelle Punktzahl beträgt:</b></center>
	  	</td>
	</tr>
	<tr>
		<td>
			<center><font color="red"><?php echo $punkte5 ?></font></center>
	  	</td>
	</tr>
	<tr>
		<td>
	    	<center><a href=""><?php echo $Zu ?> Nächste Frage</a></center>
	  	</td>
     </tr>
  </td>
            </tr>
        </table>
    </center>
</td>

<?php
include("fuss.php");
}
?>


Wäre lieb wenn mir einer bei dem Problem helfen könnte und erklären könnte, wieso das im IE funktioniert und im firefox nicht. IE ist bei mir nicht auf dem neusten stand, wird auch nicht benutzt. Hingegen der Firefox auf dem neusten stand ist und mein main-Browser ist.

Liebe Grüße
DreamTeam-World

P.S. Bitte nicht wundern das keine datei in der include steht. Ist nur aus Sicherheitsgründen für meine DB ;) also nicht böse sein.
 
Soweit ich weiss wird bei MySQL mittels "AND" verknüpft!

Und evtl werden durch unsauberes HTML einige Elemente einfach nicht angezeigt? Schon mal überprüft?
 
Zurück