Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple HTML Forms on One Page

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?

like image 534
user532493 Avatar asked Mar 02 '12 17:03

user532493


1 Answers

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>
like image 80
AshBrad Avatar answered Oct 04 '22 18:10

AshBrad