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> 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']; ... 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
Archived
This topic is now archived and is closed to further replies.