Processing Forms
It’s easy to process forms with PHP, as the form parameters are
available in the $_GET and $_POST arrays. There are many tricks and
techniques for working with forms, though, which are described in this
section.
Methods
As we already discussed, there are two HTTP methods that a
client can use to pass form data to the server: GET and POST.
The method that a particular form uses is specified with the
method attribute to the form tag. In theory, methods are
case-insensitive in the HTML, but in practice some broken browsers
require the method name to be in all uppercase.
A GET request encodes the form parameters in the URL in
what is called a query string; the text that
follows the ? is the query
string:
/path/to/chunkify.php?word=despicable&length=3
A POST request passes the form parameters in the body of the HTTP request, leaving the URL untouched.
The most visible difference between GET and POST is the URL line. Because all of a form’s parameters are encoded in the URL with a GET request, users can bookmark GET queries. They cannot do this with POST requests, however.
The biggest difference between GET and POST requests, however, is far subtler. The HTTP specification says that GET requests are idempotent—that is, one GET request for a particular URL, including form parameters, is the same as two or more requests for that URL. Thus, web browsers can cache the response pages for GET requests, because the response page doesn’t change regardless of how many times the page ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access