Forms can used for everything from accepting comments about your website to maintaining databases. Email-based forms that have stopped working or are being spammed by bots are one of the biggest supplier of new clients for me.
When you click the submit button (or its equivalent) the information you have entered gets usually either gets mailed to the website manager, or is used to update an online database.
eMail-based Submission Forms are used as a substitute for asking the user to send an email. Some reasons to supply a form instead, include:
eMail submission forms can be created in Flash, javascript, and many different server-side technologies. The field validation can be done either as a part of the server-side code processing the email, or client-side using a scripting language or within a Flash application. I prefer field verification to be handled by the browser using scripting whenever possible. When hasn't one of us been frustrated by having to correct a field early in a form after submitting and thinking it was all done. By performing the data verification in the browser, the user gets the field-by-field errors as they occur.
Database Update Submission Forms provide for interactive user updating of application data that exists out in a database. Again, any data that can be verified client-side should happen there, although in this case there almost certainly will be fields that must be validated against data in the database and therefore must be performed server-side.
Forms Problems, particularly email-based forms, provide me many new clients. The usual scenario involves the client's customer asking them why they never respond to the form submissions. (Not a call I ever want to receive.)
What the client often never knows is how much potential business has been lost, because only the most interested customer would ever track you down to tell you. There have been a variety of problems: server configuration issues with the hosting company, changes in email processing requirements by hosting company (including SPF (Sender Protocal Framework) issues, customer email address changes,...
My preferred method for handling form submission used a php-based product from http://www.tectite.com called FormMail. I have adapted it to my preferred forms method:
To see a simple illustration of such a form, check out this link http://www.web-untangler.com/formmail/samplecaptcha.php.