Lesson 21 - Form framework for PHP - Improvements
In the previous lesson, Form framework for PHP - RadioGroup and FileBox, we finished our form framework. After using it for a while, I came up with several improvements which we'll implement in today's tutorial. These improvements extend the framework for other uses.
Choosing the HTTP method
Although we send forms exclusively using the $_POST method, sometimes it's useful to send it via the $_GET method. Consider the product filtering in an e-shop that is based on some criteria (minimal and maximal price, number of products per page, way of ordering, and so on). When we filter products this way, we may need to be able to send the URL address to the user and show them our results including the data which we would've submitted. This is exactly when the $_GET method comes into play (see the screenshot below).
The complete URL address for the part of the e-shop shown above would look like this:
We'll start by modifying the form itself. We'll add constants for the HTTP methods and a private $method property, which is a method by which the form will be submitted:
const METHOD_POST = 'POST'; const METHOD_GET = 'GET'; private $method;
We'll direct other modifications to the FormControl class which is the parent of all form controls. There, we'll also add a $method property and a series of methods for working with data submitted by the form:
...End of the preview...
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Requested article covers this content:
In this tutorial, we'll improve our form framework with the GET method, determine the submit button, and add inline rendering.
You gain points by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.