tag auch leute - ich bastle gerade an einem kleinen zahlenrate spiel und bin rellativ vorm ende - allerdings bin ich beim letzten Punkt in dem ich will das mir PHP immer wieder die zuletzt geratende Zahl ausgibt - das erste mal klappt super, beim zweiten mal allerdings gibt er mir nur die vorletzte zahl aus, nicht die neue die eigendlich in der textdatei aktualisiert ist
also ca so: ich gebe 10 ein, 10 wird übergeben und geprüft - dann gebe ich 20 ein und php sagt mir das mein zweiter versuch 20 ist und der letzte 10 - soweit so gut
dann gebe ich 30 ein als dritter versuch - nun müsste mir PHP sagen das die letzte Zahl 20 ist - aber sie gibt mir dennoch nur 10 zurück.. und genau warum das ist verstehe ich nicht
auf seite2. übergebe ich sie und auf seite3. macht php alles richtig - aber von seite3. die zahl auf seite 4 zu übergeben will nicht recht
also ca so: ich gebe 10 ein, 10 wird übergeben und geprüft - dann gebe ich 20 ein und php sagt mir das mein zweiter versuch 20 ist und der letzte 10 - soweit so gut
dann gebe ich 30 ein als dritter versuch - nun müsste mir PHP sagen das die letzte Zahl 20 ist - aber sie gibt mir dennoch nur 10 zurück.. und genau warum das ist verstehe ich nicht
auf seite2. übergebe ich sie und auf seite3. macht php alles richtig - aber von seite3. die zahl auf seite 4 zu übergeben will nicht recht
PHP-Code:
<?php
// Seite 2
session_start();
echo "<meta charset='UTF-8'>";
$raten = $_POST['raten'];
$zahl = $_SESSION['generate'] = rand(1,100);
echo "<br><br>";
########################################################
#öffnen und lesen von Datei
$öffnen = fopen("./ratevar.txt","w+");
#in datei ( $öffnen ) inhalt von $raten speichern
fwrite($öffnen, $raten);
echo "<b> $zahl </b>";
########################################################
#wenn zu groß, zu klein oder leer
if($raten > 100 or $raten < 1 or empty($raten))
echo "<span style='color:#dc143c;'> Die Zahl ist nicht im gewünschten Bereich! </span>";
#Wenn richtig geraten
else if($zahl == $raten)
{
echo "GRATULATION! Du hast das Spiel gewonnen! Clicke <a href = './ubung.php'> hier</a> um das Spiel erneut zu spielen!";
unset($_SESSION);
}
#wenn zu klein geraten
else if($raten > $zahl)
echo "Deine erste Zahl ist $raten! Sie ist aber größer als die gesuchte Zahl! Deine Zahl muss zwischen 1 und $raten liegen!
du hast noch <span style='color:#dc143c;'> <b> 4 Versuche! </b> </span> ";
#wenn zu größ geraten
else if($raten < $zahl)
echo "Deine erste Zahl ist ".$raten. "! Sie ist aber kleiner als die gesuchte Zahl! Deine Zahl muss zwischen $raten und 100 liegen!
du hast noch <span style='color:#dc143c;'> <b> 4 Versuche! </b> </span> ";
#sofern nicht richtig geraten - neuen Versuch erstellen
if($zahl < $raten or $zahl > $raten)
echo "<form action='seite3.php' method='POST'><br>
<input type='text' name='raten2' placeholder='Versuch 2'>
<input type='submit' value=' Checken! '>
</form>";
#schließt die offene Datei
fclose($öffnen);
?>
PHP-Code:
<?php
// Seite 3
#Versuch 2
session_start();
$raten2 = $_POST['raten2'];
$zahl = $_SESSION['generate'];
#öffnen und lesen der datei
$öffnen = fopen("./ratevar.txt","r", "w");
#inhalt der Datei in Variable speichern
$raten = fgets($öffnen, 10);
#wenn zu groß, zu klein oder leer
if($raten2 > 100 or $raten2 < 1 or empty($raten2))
echo "<span style='color:#dc143c;'> Die Zahl ist nicht im gewünschten Bereich! </span>";
#Wenn richtig geraten
else if($zahl == $raten2)
{
echo "GRATULATION! Du hast das Spiel gewonnen! Clicke <a href = './ubung.php'> hier</a> um das Spiel erneut zu spielen!";
unset($_SESSION);
}
#wenn zu klein geraten
else if($raten2 > $zahl)
echo "Deine vorherige Zahl ist <b> $raten </b> gewesen! <br><br>
Deine zweite Zahl ist $raten2! Sie ist aber größer als die gesuchte Zahl! <br>
Du hast noch <span style='color:#dc143c;'> <b> 3 Versuche! </b> </span> ";
#wenn zu größ geraten
else if($raten2 < $zahl)
echo "Deine vorherige Zahl ist <b> $raten </b> gewesen! <br><br>
Deine zweite Zahl ist $raten2! Sie ist aber kleiner als die gesuchte Zahl!<br>
Du hast noch <span style='color:#dc143c;'> <b> 3 Versuche! </b> </span> ";
#sofern nicht richtig geraten - neuen Versuch erstellen
if($zahl < $raten2 or $zahl > $raten2)
echo "<form action='seite4.php' method='POST'><br>
<input type='text' name='raten3' placeholder='Versuch 3'>
<input type='submit' value=' Checken! '>
</form>";
#nächste Zahl in Datei schreiben
fwrite($öffnen, $raten2);
fclose($öffnen);
?>
PHP-Code:
<?php
// Seite 4
#Versuch 3
session_start();
$raten3 = $_POST['raten3'];
$zahl = $_SESSION['generate'];
#öffnen und lesen der datei
$öffnen = fopen("./ratevar.txt", "r", "w
");
#inhalt der Datei in Variable speichern
$raten = fgets($öffnen, 10);
echo "<br><b> $zahl </b>";
#wenn zu groß, zu klein oder leer
if($raten3 > 100 or $raten3 < 1 or empty($raten3))
echo "<span style='color:#dc143c;'> Die Zahl ist nicht im gewünschten Bereich! </span>";
#Wenn richtig geraten
else if($zahl == $raten3)
{
echo "GRATULATION! Du hast das Spiel gewonnen! Clicke <a href = './ubung.php'> hier</a> um das Spiel erneut zu spielen!";
unset($_SESSION);
}
#wenn zu klein geraten
else if($raten3 > $zahl)
echo "Deine vorherige Zahl ist <b> $raten </b> gewesen! <br><br>
Deine dritte Zahl ist $raten3! Sie ist aber größer als die gesuchte Zahl! <br>
Du hast noch <span style='color:#dc143c;'> <b> 3 Versuche! </b> </span> ";
#wenn zu größ geraten
else if($raten3 < $zahl)
echo "Deine vorherige Zahl ist <b> $raten </b> gewesen! <br><br>
Deine dritte Zahl ist $raten3! Sie ist aber kleiner als die gesuchte Zahl!<br>
Du hast noch <span style='color:#dc143c;'> <b> 3 Versuche! </b> </span> ";
#sofern nicht richtig geraten - neuen Versuch erstellen
if($zahl < $raten3 or $zahl > $raten3)
echo "<form action='seite5.php' method='POST'><br>
<input type='text' name='raten4' placeholder='Versuch 4'>
<input type='submit' value=' Checken! '>
</form>";
fwrite($öffnen, $raten3);
fclose($öffnen);
?>

Kommentar