Basic HTML-based forms are ubiquitous on the web. They are used for everything from service sign ups to collecting demographic information to opinion surveys. The forms are created a variety of methods including applications such as Dreamweaver, hosted services such as Zoho Creator, and hand coding in PHP or another template language. Recently, I wanted to create a number of forms. Some of the forms were simple with a small number of fields and others were longer with a variety of more complicated field types.
Many of the form generation methods were not an ideal fit for my requirements including hosting the form on our server, CAPTCHAs for anti-spam, and sending simultaneous submission information to a database, a local email address, and the person who filled out the form. After a brief search I began working with MachForm from Appnitro software. MachForm was straightforward to installed on install on our server. I copied the files over, created a database, set some basic configuration variables, and ran a simple setup program.
MachForm was pleasantly simple to use and allowed me to create forms rapidly. The user interface largely consists of a number of field types. You simply click on a field type, say address and it adds an address block to the form. Fields can be reordered via drag and drop which speeds up the process substantially.
There are many nice touches. For example, the address block automatically supports internationalization (in a limited sense) and allows you to set a default for the country (although not for the state as it is not a drop down). Most structured field types (email, web, phone, address, numbers, dates, etc.) automatically include form validation and will provide notification to the user if they enter invalid information. Entries may be marked as required and additional text for instructions may be added in a mouseover.
Forms are created with the MachForm application, managed from a central dashboard, and styled from a single CSS file. The benefit of this approach is that it is centralized. The downside is that there is effectively only a single style for all forms although you can make some modifications by adding HTML tags from within the form elements. The interface to manage the CSS is simply editing a large text block that is essentially the same as using a text editor on the CSS file. Entries may be viewed or edited online and may also be export to CSV or Excel. MachForm integrates with several other well-known open source packages such as PHPMailer for SMTP support and reCAPTCHA for CAPTCHA support.
While the application has much to recommend, there are a number of places that MachForm could be improved. There is minimal ability to control the layout in the application and there is no ability to have different style sheets for different forms. I wish there was an easier way to add more arbitrary text to more of the fields. Essentially, I was looking for a header and a footer to add in some free form text in many of the items. Some basic text can be added as a separator, but again this is less flexible than I desired.
If some of the more common CSS variables could be exposed through the UI it would make experimentation with different form styles much easier. The theme gallery on the Appnitro site is a good start although these typically just modify a few basic colors. The installation process was not particularly difficult, although more of the process should be managed through the web UI rather than editing a configuration file.
I ended up upgrading the packaged version of PHPMailer so I could use the newer version that supports SMTP over TLS (SMTP SUBMISSION) that is needed Gmail and many other services, as well as a SMTP debug mode.
A free version of MachForm is available on the developers website as a hosted application with limited features. The paid version adds additional features and allows customers to host their own forms in addition to a free installation service.
The license for MachForm is $40 per domain (including sub-domains). MachForm requires PHP 4.3 or higher and MySQL 4.1 or higher, both of which are commonly pre-installed on most web hosts. Overall, I recommend MachForm as it provides solid functionality for building HTML-based form with a surprisingly usable creation and management user interface.
Related posts
1Password — the Login Manager and Form Filler for the Mac and iPhone Briefly, 1Password is an application to manage passwords and auto-fill web forms for the Mac, the iPhone, and the iPod Touch. At first pass, the functionality m ...
Jaiku Offers Mobile Presence, Location, and Status Information Jaiku is a platform for managing distributed presence, location, and status information. The service was publicly launched at the O'Reilly Emerging Telephony co ...
Link roundup for 10/7/07 "Trends in Badware 2007" released: The StopBadware organization has released a report describe current types and trends in "badware" including hacked websites, ...