If I have multiple HTML tags with separate submit forms, how do I know which when was posted in the PHP file that processes the form's data?
The easiest way is to name your submit buttons unique to the form. You can also use this if you have multiple submit buttons for a SINGLE form (eg - submit and save, submit and return, submit and exit)
<input type="submit" name="action" value="Save">
<input type="submit" name="action" value="Return">
<input type="submit" name="action" value="Exit">
The $_POST array (or $_GET/$_REQUEST) will contain the key "action" with the value of the enacted button (whether clicked or not).
As a rule, I avoid passing hidden text fields, etc, that are unnecessary - simply to keep the code more clean.
So. For your application, I'd give your submit button values as such:
<form id="Form1">
<input type="submit" name="action" value="Form1">
</form>
<form id="Form2">
<input type="submit" name="action" value="Form2">
</form>
<form id="Form3">
<input type="submit" name="action" value="Form3">
</form>
You can set such an input in each form:
<input type="hidden" name="form_id" value="identifier_of_form" />
For example:
<form method="post" action="">
<input type="hidden" name="form_id" value="form_0" />
<!-- snip -->
</form>
<form method="post" action="">
<input type="hidden" name="form_id" value="form_1" />
<!-- snip -->
</form>
<form method="post" action="">
<input type="hidden" name="form_id" value="form_n" />
<!-- snip -->
</form>
The easiest way is to name your submit buttons unique to the form. You can also use this if you have multiple submit buttons for a SINGLE form (eg - submit and save, submit and return, submit and exit)
<input type="submit" name="action" value="Save">
<input type="submit" name="action" value="Return">
<input type="submit" name="action" value="Exit">
The $_POST array (or $_GET/$_REQUEST) will contain the key "action" with the value of the enacted button (whether clicked or not).
As a rule, I avoid passing hidden text fields, etc, that are unnecessary - simply to keep the code more clean.
So. For your application, I'd give your submit button values as such:
<form id="Form1">
<input type="submit" name="action" value="Form1">
</form>
<form id="Form2">
<input type="submit" name="action" value="Form2">
</form>
<form id="Form3">
<input type="submit" name="action" value="Form3">
</form>
By including some unique data in each one. Possibly with a hidden input.
why not just set the form names as "action1", "actions2", "action3",
If so, no hidden input needed.
This works for me....
Each form has a unique 'name'...
form method="post" action="" name="uniqueName" id= "uniqueName"
Each form has this hidden field...
input type="hidden" id="action1_1" name="action1" value="1"
with unique id extension ( _1, _2, 3 ... and unique value (1,2,3,....) and common name: action1
then in the php index script :
$action1 = $_POST['action1'];
if ( $action1 == "1" ) { include("form_process1.php"; //...do whatever that form need dones... } else if ( $action1 == "whateverelse" ) { include("form_process.php"; // ...do whatever that form does... }
© 2022 - 2024 — McMap. All rights reserved.