HTML and CSS Reference
or reports an error to the user. he CGI program is also responsible for doing
something with the user's input, such as performing calculations, updating
databases, or emailing the information to someone. It is beyond the scope of
this topic to teach CGI or database programming. However, there are free CGI
programs to format and email the user's input.
he form element has two important attributes: action and method . he
action attribute's value is the URL of the server resource that is sent the form's
contents appended to the HTTP request the browser generates upon form sub-
mission. he method attribute tells the browser how to send that input. If it has
the value "post" , the browser adds to the HTTP request header a name=value
pair for each input ield. If the method attribute has the value "get" , the browser
appends the name=value pairs to the end of the URL in the action attribute.
Most CGI scripts are written to accept post requests. Some CGI scripts also
accept get requests, but some reject get requests as a security precaution. A
typical form element looks something like this:
<form method="post" action="/cgi-bin/save_info.cgi">...</form>
he action attribute's value is a URL, and that can be a “mailto” URL such
<form method="post" action="mailto:firstname.lastname@example.org">...</form>
In this case, when the form is submitted, the browser opens a new email
message using the user's email program with the name=value pairs in the body
of the message.
he children of the form element create text input ields, selection menus,
checkboxes, radio buttons, and submit and reset buttons. For historical rea-
sons, most of this functionality is implemented through the input element and
the particular form depends on the value of its type attribute.
If an input element has a type attribute with the value "text" , it creates a
single line input ield. his code, for example:
<input type="text" name="fullname" size="60"/>
creates an input ield 60 characters wide. A browser accepts more than this
number of characters typed into the ield unless the input tag also includes a
maxlength attribute. Adding a maxlength attribute is a good idea just in case
the server-side CGI script neglects to check the input rigorously enough.