php - isset($_POST['x']) only works if the submit button name="submit" -
i'm having trouble using postback because i've more 1 form , isset
works name="submit"
buttons.
my code work fine if use name="submit"
if changed name else, isset($_post['somethingelse'])
false, why happen?
edit:
<input type="submit" name="submit" value="submit" onclick ="validate(document.getelementbyid('form')); return false;" /> if (isset($_post['submit'])) <-- works expected <input type="submit" name="asdf" value="submit" onclick ="validate(document.getelementbyid('form')); return false;" /> if (isset($_post['asdf'])) <-- not works expected
edit2:
<?php $validated = false; if (isset($_post['submit'])) { // preserve form values storing values $_post variables $test = $_post['test']; // validated true submit button submits if validated (script) $validated = true; } else { // make variables empty there's no values preserve $test = ''; } if (!$validated) { ?> <form id="form" action="<?php echo $_server['php_self'] ?>" method="post"> <p>test: <input type="text" name="test" size="20" value="<?php echo $test ?>" /></p> <p><input type="submit" name="submit" value="submit" onclick ="validate(); return false;" /></p> <?php } ?>
for example here, works expected (i can keep values) name="submit" , if (isset($_post['submit'])) true when button submits if change both name="" , if (isset($_post[''])) not work isset returning false (even though button submits).
it's normal because clicked submit button set , not second, if click on submit button name submit isset($_post['submit'])
give true , isset($_post['asdf'])
false, , if click on asdf isset($_post['submit'])
gives false , isset($_post['asdf'])
true, tested , works without problem.
test code:
<?php $validated = false; if (isset($_post['submit'])) { // preserve form values storing values $_post variables $test = "submit"; // validated true submit button submits if validated (script) $validated = true; } else if(isset($_post['asdf'])){ $test = "asdf"; // validated true submit button submits if validated (script) $validated = true; } else { // make variables empty there's no values preserve $test = ''; } if (!$validated) { echo $test; } ?> <form id="form" action="<?php echo $_server['php_self'] ?>" method="post"> <p>test: <input type="text" name="test" size="20" value="<?php echo $test ?>" /></p> <p><input type="submit" name="submit" value="submit" onclick ="validate(); return false;" /></p> <p><input type="submit" name="asdf" value="submit" onclick ="validate(document.getelementbyid('form')); return false;" /> </p>
Comments
Post a Comment