Handling form data in PHP is simpler than other web programming languages - if you use this language for a while, you will find this to be an indisputable fact. The simplicity of this operation makes it easy to handle more complex form events, including today's topic of discussion, which is using multiple buttons to handle different tasks in the same form.
Why use multiple submission tasks?
Before I answer this question, let me answer the obvious question: since many forms are better suited to a single submit button, why do people sometimes need two (or more) submit buttons? Button?
The best way to explain this problem is to use an example from my recent development project. In this project, my task is to build a detailed catalog query system for a library. Book titles are stored in a database, and administrators will be able to use a browser-based interface to view records for any book and then choose to perform one of four operations on that record: member return registration, Member borrowing registration, book loss records and book sales records.
All the above tasks must be handled through an independent form, so corresponding buttons are needed to respond to these tasks. Data passed into the form will be processed in different ways, depending on which button is clicked (borrow/return and member records are related to each other; loss/sale records change the inventory table). Since a form can only handle one unique task, the same PHP script can handle the above four tasks based on the button that was clicked and executing the appropriate code segment. Therefore, a single form that handles multiple submit task buttons is needed, as well as a form processing code segment that implements automatic responses to different buttons.
I will first give a simple example: a form with a submit button. This will give you a clear understanding of the basic concepts and prepare you for the more complex examples to come. Here is a form:
Single-button formThe following is the processor.php script that calls the submission task:
// check for submission
// retrieve value from posted data
if ($_POST['submit'])
{
echo "You entered the number " . $_POST['number']; }
?>
When a form is submitted to a PHP script, depending on the submission method used (I assume for this article POST), PHP automatically creates a specific $_POST or $_GET array. Values typed into the form input fields are automatically converted into key data in the array, and can be accessed using regular data symbols.
What is particularly noteworthy is how the button to submit the task is handled in the above script. When the form is submitted, the submit button is converted into an element in $_POST according to its actual "name". It will be clear by adding the following line of code:
print_r($_POST);
In order to understand the above PHP script, you can look at the internal structure of the array and can clearly see the different forms Interrelationships between controls.