isset() in Verbindung mit erschaffung eines Arrays

Alles, was PHP betrifft, kann hier besprochen werden.

isset() in Verbindung mit erschaffung eines Arrays

Postby rpflug » 28. February 2006 21:36

Hallo,

wir haben in der Schule ein Momory programiert. Das Programm läuft in der Schule einwandfrei. Nun wollte ich zu Hause selbst noch daran arbeiten und auch so PHP nutzen. Also habe ich den Xampp runtergeladen und installiert. Soweit so gut.
Wenn ich das Programm starte zeigt er mir 32 Bilder(als images) an die anschließend umgedreht werden und in ein Inputfeld des Typs Image verwandelt werden. Wenn ich nun auf ein Bild klicke wird die Seite neu geladen aber er dreht keines der Bilder um.
Ich habe mit meine Lehrer versucht die Ursache zu finden und wir sind zu dem Entschluss gekommen, das er ein Problem mit isset() in Verbindung mit der Erzeugung eines Arrays aus den image-namen hat.
Ich nutze PHP 5.1.1.
Gibt es Einstellungen die beachtet werden müssen? Bitte helft mir!
Hier mal der Quelltext:

Code: Select all
<?php
session_start();
?>
<html>
<form name="MEMORY" method="post" action="memory.php">
<?php
      $insgesamt=$_SESSION["Insgesamt"];
      $fehler=$_SESSION["Fehler"];
      $ende=$_SESSION["Ende"];
$bild=array("eisen","bus","pkw","lkw","faehre","frachter","segel","uboot","heiss","passagie","segelf","hub","rakete","satellit","shuttle","rstation","leer");

function verdecke()
{
$v=array_fill(0,32,1);
return $v;
}


if($_POST["bverdecken"]!="")
   {
   $verdeckt=verdecke();
         $zaehler=-1;
         $geprueft=0;
   }
else{
      if ($_POST["bneu"]=="")
      {
      $verdeckt=$_SESSION["umdrehen"];
      $zaehler=$_SESSION["Klickzaehler"];
      $geprueft=$_SESSION["geprueft"];
      }
}

if($_POST["bumdrehen"]!="")
{
$verdeckt[$zaehler]=1;
$verdeckt[$_SESSION["bild2"]]=1;
$zaehler=-1;
$geprueft=0;
}



function wuerfeln()
{
   for($j=0;$j<32;$j++)
         {
    $k[$j]=1;
   }//for
     srand((double)microtime()*1000000);
        for($j=0;$j<32;$j++)
         {
    $dummy=rand(0,31);
          if ($k[$dummy]==1)
          { $k[$dummy]=0;
            $i[$j]=$dummy;
          }//if
          else {$j--;}
   }//for
 return $i;
}//function

if(($_POST["bneu"]!="")||(empty($_POST)))
{
$i=wuerfeln();
$zaehler=-1;
      $insgesamt=0;
      $fehler=0;
      $ende=0;
}
else
{
$i=$_SESSION["Feld"];
}

//prüfen ob 2 gleiche Bilder
for($j=0;$j<32;$j++)
{
   if(isset($b[$j]))   //fragt ob Bild angeklickt
   {
         echo "Es ist auf das Bild mit der Nummer ".$j." geklickt worden.";
            if($geprueft==0)
            {
            $geprueft=1;
               if($zaehler==-1)
               {
               $zaehler=$j;
               $verdeckt[$j]=0;
               }
            }
            else
             {
             if($zaehler!=$j)
             $insgesamt++;
               {
               $verdeckt[$j]=0;
               if($bild[$zaehler/2]==$bild[$j/2])
                  {
                  $zaehler=-1;
                  $geprueft=0;
                  $ende++;
                  }
                    else
                    {
                    $_SESSION["bild2"]=$j;
                    $fehler++;
                    $ausgabe='Bilder passen nicht! <input type="submit" value="umdrehen" name="bumdrehen"></input>';
                    }
               }
             }
   }
}

If($ende==16)
{
$meldung='Herzlichen Glückwunsch! Sie haben alle Paare entdeckt.';
}

?>

<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">

<div align="center">
<table>
<?php
for($j=0;$j<8;$j++)
{
?>
<tr>
<td><?php if($verdeckt[$i[4*$j]]==1){echo '<input type="image" name="b['.$i[4*$j].'][]" src="images/'.$bild[16].'.gif"></input>';}else{echo '<img src="images/'.$bild[$i[4*$j]/2].'.gif">';}?></td>
<td width="30"></td>
<td><?php if($verdeckt[$i[4*$j+1]]==1){echo '<input type="image" name="b['.$i[4*$j+1].'][]" src="images/'.$bild[16].'.gif"></input>';}else{echo '<img src="images/'.$bild[$i[4*$j+1]/2].'.gif">';}?></td>
<td width="30"></td>
<td><?php if($verdeckt[$i[4*$j+2]]==1){echo '<input type="image" name="b['.$i[4*$j+2].'][]" src="images/'.$bild[16].'.gif"></input>';}else{echo '<img src="images/'.$bild[$i[4*$j+2]/2].'.gif">';}?></td>
<td width="30"></td>
<td><?php if($verdeckt[$i[4*$j+3]]==1){echo '<input type="image" name="b['.$i[4*$j+3].'][]" src="images/'.$bild[16].'.gif"></input>';}else{echo '<img src="images/'.$bild[$i[4*$j+3]/2].'.gif">';}?></td>
</tr>
<tr height="15">
<td colspan="7"></td>
</tr>
<?php
}
?>
</table>
<input type="submit" value="neues Spiel" name="bneu"></input>
<input type="submit" value="verdecken" name="bverdecken"></input>
</div>
<?php
echo $ausgabe;
$ausgaben="";
echo '<br> Versuche: '. $insgesamt;
echo '<br> Fehler: '. $fehler;
echo '<br>'. $meldung;
$_SESSION["Feld"]=$i;
$_SESSION["umdrehen"]=$verdeckt;
$_SESSION["Klickzaehler"]=$zaehler;
$_SESSION["geprueft"]=$geprueft;
$_SESSION["Insgesamt"]=$insgesamt;
$_SESSION["Fehler"]=$fehler;
$_SESSION["Ende"]=$ende;
?>
</form>
</body>
</html>
rpflug
 
Posts: 1
Joined: 28. February 2006 21:16

Return to PHP

Who is online

Users browsing this forum: No registered users and 12 guests