Hidden Input, Image Buttons, and Self-submitting Forms
Posted: Wed May 12, 2010 6:16 pm
I have a very simple survey at http://projectpotluck.com/survey/survey.php The survey is three pages long and on each page there is hidden variable which calculates how many bonus points the user has accumulated based on the number of good answers and passes the total to the next page. Instead of using a submit button, I am using an image button but I believe they are equivalent. For example for one of the survey pages I have the following code inside of the form tags:
<input type="hidden" name="bonus" value="<?php
$bonus == $_POST['bonus'];
if ($_SESSION['cooking'] == 'hobby')
$bonus += 1;
echo $bonus; ?>">
It collects the bonus posted from the previous page and adds one more bonus point if $_SESSION['cooking'] == 'hobby' After it adds or doesn't add the bonus point, the hidden value gets submitted to the next page. For some reason this code used to work before I made some improvements to the code and after "improving" the code it stopped working. Before I improved the code I wasn't using SESSION variables or image buttons. Oh and another key change was that the form became self-submitting (that is, <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">) and after being posted to itself, it gets sent to the next page via a header, that is it gets sent with header("Location: $url");. Any idea how this can be fixed?
<input type="hidden" name="bonus" value="<?php
$bonus == $_POST['bonus'];
if ($_SESSION['cooking'] == 'hobby')
$bonus += 1;
echo $bonus; ?>">
It collects the bonus posted from the previous page and adds one more bonus point if $_SESSION['cooking'] == 'hobby' After it adds or doesn't add the bonus point, the hidden value gets submitted to the next page. For some reason this code used to work before I made some improvements to the code and after "improving" the code it stopped working. Before I improved the code I wasn't using SESSION variables or image buttons. Oh and another key change was that the form became self-submitting (that is, <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">) and after being posted to itself, it gets sent to the next page via a header, that is it gets sent with header("Location: $url");. Any idea how this can be fixed?