Jump to content

php form calculates and passes results


TheOneNOnlyQ

Recommended Posts

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

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'];
      ...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.