Reusable Form Functions

Like me, you are probably confronted with many requests for surveys, questionnaires, feedback forms, registration forms and so forth: forms where the processing requirements are very simple (store in a database or e-mail to a particular address). Despite the simple requirements, there is often quite a lot of work involved: crafting a database to store results, writing a function to store the data to the database, one to verify submitted data (e.g. make sure that if you’ve asked for an e-mail address, it contains an @-sign), and marking up the form itself (which can be quite a task if you want to make correct use of