I need to modify a block of code and add a counter regarding how many times it took the user to guess the right number.
I was wondering how it would be properly implemented into my code.
This is what I have so far.
<?php if (!isset($_POST["guess"])) { $message = "Welcome to the guessing machine!"; $count++; //Declare the variable $count to increment by 1. $_POST["numtobeguessed"] = rand(0,1000); } else if ($_POST["guess"] > $_POST["numtobeguessed"]) { //greater than $message = $_POST["guess"]." is too big! Try a smaller number."; } else if ($_POST["guess"] < $_POST["numtobeguessed"]) { //less than $message = $_POST["guess"]." is too small! Try a larger number."; } else { // must be equivalent $message = "Well done! You guessed the right number in ".$count." attempt(s)!"; //Include the $count variable to the $message to show the user how many tries to took him. } ?> <html> <head> <title>A PHP number guessing script</title> </head> <body> <h1><?php echo $message; ?></h1> <form action="" method="POST"> <p><strong>Type your guess here:</strong> <input type="text" name="guess"></p> <input type="hidden" name="numtobeguessed" value="<?php echo $_POST["numtobeguessed"]; ?>" ></p> <p><input type="submit" value="Submit your guess"/></p> </form> </body> </html>
Advertisement
Answer
You have to use PHP Sessions to keep track of the count. All you have to do is initialize counter to 0 and have it increment when the user guesses a number
<?php session_start(); if (!isset($_POST["guess"])) { $_SESSION["count"] = 0; //Initialize count $message = "Welcome to the guessing machine!"; $_POST["numtobeguessed"] = rand(0,1000); echo $_POST["numtobeguessed"]; } else if ($_POST["guess"] > $_POST["numtobeguessed"]) { //greater than $message = $_POST["guess"]." is too big! Try a smaller number."; $_SESSION["count"]++; //Declare the variable $count to increment by 1. } else if ($_POST["guess"] < $_POST["numtobeguessed"]) { //less than $message = $_POST["guess"]." is too small! Try a larger number."; $_SESSION["count"]++; //Declare the variable $count to increment by 1. } else { // must be equivalent $_SESSION["count"]++; $message = "Well done! You guessed the right number in ".$_SESSION["count"]." attempt(s)!"; unset($_SESSION["count"]); //Include the $count variable to the $message to show the user how many tries to took him. } ?> <html> <head> <title>A PHP number guessing script</title> </head> <body> <h1><?php echo $message; ?></h1> <form action="" method="POST"> <p><strong>Type your guess here:</strong> <input type="text" name="guess"></p> <input type="hidden" name="numtobeguessed" value="<?php echo $_POST["numtobeguessed"]; ?>" ></p> <p><input type="submit" value="Submit your guess"/></p> </form> </body> </html>