Designing a Simple Form
Sending form data to your web server
The last part, and perhaps the trickiest, is to handle form data on the server side.
The <form>
element defines where and how to send the data thanks to the action
and method
attributes.
We provide a name
attribute for each form control.
The names are important on both the client- and server-side; they tell
the browser which name to give each piece of data and, on the server
side, they let the server handle each piece of data by name.
The form data is sent to the server as name/value pairs.
To name the data in a form, you need to use the name
attribute on each form widget that will collect a specific piece of data.
Let's look at some of our form code again:
<form action="/my-handling-form-page" method="post"> <ul> <li> <label for="name">Name:</label> <input type="text" id="name" name="user_name" /> </li> <li> <label for="mail">Email:</label> <input type="email" id="mail" name="user_email" /> </li> <li> <label for="msg">Message:</label> <textarea id="msg" name="user_message"></textarea> </li> … </ul> </form>
In our example, the form will send 3 pieces of data named "user_name
", "user_email
", and "user_message
".
That data will be sent to the URL "/my-handling-form-page
" using the HTTP POST
method.
On the server side, the script at the URL "/my-handling-form-page
"
will receive the data as a list of 3 key/value items contained in the
HTTP request.
The way this script will handle that data is up to you.
Each server-side language (PHP, Python, Ruby, Java, C#, etc.) has its
own mechanism of handling form data.
It's beyond the scope of this guide to go deeply into that subject.