TheOneNOnlyQ Posted March 23, 2014 Share Posted March 23, 2014 I have an html form to get a number from the user for a calculation. The first number is given. The second is entered by the user. The result is posted to the same page. BUT the resulting answer is now the first number and again the second number is entered by the user. The first code works fine for the first calculation. But the next ones still use the given number, not the result. I tried it with the else statement but couldn't get it to work right. <head> <title>Calculate</title> </head> <body> <?php $first = 2; if(isset($_POST['Calculate'])) { $second = (!empty($_POST['second']) ? $_POST['second'] : null); $total = $first+$second; print "<h2>Results</h2>"; print "The total of the two numbers: $first + $second = $total <p>"; $first=$total; } ?> <h2>Calculate</h2> <p><?php echo "First Number: $first"; ?></p> <br> <form action = "index.php" method = "POST"> <input type="hidden" name="total" value="$total" /> Second Number: <input type = "text" name = "second"><br> <input type = "submit" name = "Calculate"/> </form> </body> </html> Quote Link to comment https://forums.phpfreaks.com/topic/287194-php-form-calculates-and-passes-results/ Share on other sites More sharing options...
Ch0cu3r Posted March 23, 2014 Share Posted March 23, 2014 You need to echo $total in your hidden form field <input type="hidden" name="total" value="<?php echo $total; ?>" /> Then you need to set $first to $_POST['total'] when the form has been submitted if(isset($_POST['Calculate'])) { $first = $_POST['total']; $second = $_POST['second']; ... Quote Link to comment https://forums.phpfreaks.com/topic/287194-php-form-calculates-and-passes-results/#findComment-1473596 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.