Zahlenratepiel mit PHP

Unbenanntes Dokument
     Geben sie Ihre Zahl ein die sie Erraten möchten:
    
    
    
    

<?php $zufallszahl = rand (0,100);
$rateversuch = $\_POST["zahl"]; echo "$zufallszahl"; if ($zufallszahl == $rateversuch)     {         echo "Herzlichen Glückwunsch sie haben gewonnen";     }              elseif($zufallszahl\>$rateversuch)         {             echo " Die zahl ist größer als $rateversuch ";             }                  elseif($zufallszahl Nun zu meinen Problem: Immer wenn ich auf meinen Submit Button klicke generiert er mir eine neue Zufallszahl so das ich niemals diese Zahl erraten kann. Kann mir da evtl. jemand helfen wo mein Fehler liegt ?

Entschuldigung irgendwie hat es meine ersten Paar Sätze gelöscht.

Hi wollte mir mal selbst PHP Programmierung beibringen und habe mich jetzt mal an ein Zahlerate Spiel gesetzt. Hier ist der Code

Unbenanntes Dokument
     Geben sie Ihre Zahl ein die sie Erraten möchten:
    
    
    
    

<?php $zufallszahl = rand (0,100);
$rateversuch = $\_POST["zahl"]; echo "$zufallszahl"; if ($zufallszahl == $rateversuch)     {         echo "Herzlichen Glückwunsch sie haben gewonnen";     }              elseif($zufallszahl\>$rateversuch)         {             echo " Die zahl ist größer als $rateversuch ";             }                  elseif($zufallszahl Nun zu meinen Problem: Immer wenn ich auf meinen Submit Button klicke generiert er mir eine neue Zufallszahl so das ich niemals diese Zahl erraten kann. Kann mir da evtl. jemand helfen wo mein Fehler liegt ?

Hallo ,

da gibt es eigentlich nur eine möglichkeit
das was du an Zufallszahl erzeugst muss gespeichert werden .

Warum ?

Weil PHP über HTTP Protokoll nur 1 mal abläuft.
und dann die Ausgabe liefern, wenn du also etwas siehst im browser dann ist das php schon lange zu ende und der speicher wird freigegeben.
Jeder neu aufruf (z.b. via absenden der Form) , hat erstmal nix mit dem vorheriegen zu tun sondern erzeugt einen komplett neuen programm ablauf .

Wenn Du also erst die Zufalls zahl generien willst um sie später zu erraten , dann speicher diese für den Betreffenden Aufrufer .

Das macht man mit
Sessions

Programmablauf wäre z.b. so

  1. Session initiieren
  2. gucken ob es eine zufalls zahl gibt , wenn nicht eine erzeugen und in der session speichern
  3. gucken ob eine Ratezahl gesendet wurde , wenn ja vergleichen mit Zufallszahl in Session
  4. wenn gleich dann erfolg ausgeben , wenn ungleich dann formular für weitere Ratemöglichkeiten einblenden.

Session Tutorial

http://www.php-einfach.de/php-tutorial/php-sessions.php