zählen bei klick auf Submit button
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
aufwand
benutzer
code
eingabe
http
idee
jaja
jemand
kleiner tipp
rand
saubere programmierung
server
session
sichereren code
teddy
text
url
versuchen
zahl
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hackyourlife schrieb:
kill-a-teddy schrieb:
Meinst du so etwas ähnliches wie hier (natürlich angepasst)?
Jemand eine Idee?
Nein, nein..
ich habe ein Formular mit einem "Ratespiel".. Es soll gezählt werden, wie viele Versuche man gebraucht hat, um die Zahl zu erraten.. Was du da meinst ist schon zu weit, wie ich gesagt habe ist eigentlich wohl sehr einfach ich komme nur nicht auf die Lösung in meinem Kopf schwirren hundert andere Sachen rum lol. -
kill-a-teddy schrieb:
Dafür gibts Sessions:
Es soll gezählt werden, wie viele Versuche man gebraucht hat, um die Zahl zu erraten..session_start(); // am Anfang einmal $_SESSION['counter'] = 0; // und dann immer $_SESSION['counter']++;
Dabei kannst du die zu erratende Zahl übrigens auch gleich in die Session speichern... -
hackyourlife schrieb:
kill-a-teddy schrieb:
Dafür gibts Sessions:
Es soll gezählt werden, wie viele Versuche man gebraucht hat, um die Zahl zu erraten..session_start(); // am Anfang einmal $_SESSION['counter'] = 0; // und dann immer $_SESSION['counter']++;
Dabei kannst du die zu erratende Zahl übrigens auch gleich in die Session speichern...
Perfekt. :)
Ergebnis (Jaja, ist alles andere als eine saubere Programmierung ^^):
<?php session_start(); if(!isset($_SESSION['counter'])){ $_SESSION['counter'] = 0; } if (!isset($_POST['rand'])){ $random = rand(1,100); } else { if(isset($_POST['text'])){ } $random = $_POST['rand']; $eingabe = ""; $eingabe = $_POST['text']; if ($eingabe < $random){ echo 'größer'; $_SESSION['counter']++; } else if($eingabe > $random){ echo 'kleiner'; $_SESSION['counter']++; } else if($eingabe == $random){ $_SESSION['counter']++; echo 'richtig! Du hast'.$_SESSION['counter']. 'Versuche gebraucht. Bitte probiere es noch einmal'; $random = rand(1,100); $_SESSION['counter'] = 0; } else if($eingabe == ""){ echo 'Bitte eine Zahl eingeben!'; } else { echo 'Bitte eine gültige Zahl eingeben!'; } } ?> <form action="index.php" method="post"> <input type="text" name="text" id="text"></input> <input type="hidden" name="rand" id="rand" value="<?php echo $random;?>"></input> <input type="submit" value="Abschicken"></input> </form>
Beitrag zuletzt geändert: 4.9.2012 15:58:47 von kill-a-teddy -
kill-a-teddy schrieb:
Dein Code ist auch nicht vor Cheatern geschützt, da die zu erratende Zahl im Seitenquelltext zu finden ist.
Jaja, ist alles andere als eine saubere Programmierung ^^
Kleiner Tipp für besseren (und sichereren) Code: alles was der Benutzer nicht sehen können soll speicherst du am besten am Server, also in einer Session. Der Aufwand um das bei deinem Code anzupassen ist minimal... -
hackyourlife schrieb:
kill-a-teddy schrieb:
Dein Code ist auch nicht vor Cheatern geschützt, da die zu erratende Zahl im Seitenquelltext zu finden ist.
Jaja, ist alles andere als eine saubere Programmierung ^^
Kleiner Tipp für besseren (und sichereren) Code: alles was der Benutzer nicht sehen können soll speicherst du am besten am Server, also in einer Session. Der Aufwand um das bei deinem Code anzupassen ist minimal...
Danke für den Tipp ;)
Nur für dich:
<?php session_start(); if(!isset($_SESSION['counter'])){ $_SESSION['counter'] = 0; } if (!isset($_SESSION['random'])){ $_SESSION['random'] = rand(1,100); } else { if(!isset($_POST['text'])){ $eingabe = ""; } else{ $eingabe = ""; $eingabe = $_POST['text']; if ($eingabe < $_SESSION['random']){ echo 'größer'; $_SESSION['counter']++; } else if($eingabe > $_SESSION['random']){ echo 'kleiner'; $_SESSION['counter']++; } else if($eingabe == $_SESSION['random']){ $_SESSION['counter']++; echo 'richtig! Du hast'.$_SESSION['counter']. 'Versuche gebraucht. Bitte probiere es noch einmal'; $_SESSION['random'] = ""; $_SESSION['random'] = rand(1,100); $_SESSION['counter'] = 0; } else if($eingabe == ""){ echo 'Bitte eine Zahl eingeben!'; } else { echo 'Bitte eine gültige Zahl eingeben!'; } } } ?> <form action="index.php" method="post"> <input type="text" name="text" id="text"></input> <input type="submit" value="Abschicken"></input> </form>
Post kann geschlossen werden... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage