0

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. Any direction is appreciated.

<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> 
2
Contributors
2
Replies
15
Views
3 Years
Discussion Span
Last Post by ImaComputerLuvr
0

Almost. try this...

<?php 
$first = 2;
$print = '';
if($_POST)
{
    $first = $_POST['first'];
    $second = $_POST['second'];
    $total = $first + $second;
    $print = "<h2>Results</h2>"; 
    $print .= "<p>The total of the two numbers: $first + $second = $total <p>";    
}
if(isset($total)) $first = $total;
?> 
<!doctype html>
<html>
    <head> <title>Calculate</title> </head> 
    <body>
        <?php echo $print;?> 
        <h2>Calculate</h2>
        <p>First Number: <?php echo $first;?></p> <br> 
        <form action = "index.php" method = "POST"> 
            <input type="hidden" name="first" value="<?php echo $first;?>" />
            Second Number: <input type = "text" name = "second"><br> 
            <input type = "submit" name = "Calculate"/> 
        </form> 
    </body> 
</html> 

Edited by diafol

0

I think I love you!!!
I was up until 4am changing, testing, searching, changing, retesting, searching....... I played around with the if(isset) a few times but could never get the syntax correct.
Thank you so much.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.