Form Tools is an open source (free!) PHP / MySQL script that provides any existing web form with a backend database and
a user-friendly interface to manage the form submission data, plus a wealth of tools for managing and manipulating your
form data. Whether you create your forms by hand or through a script, whether your form is in HTML, Flash, Silverlight or anything else
- Form Tools can help! [how does it work?] Features include:
Form Builder module!
With the new premium Form Builder module, you can now create attractive, single or
multi-page forms entirely from within the Form Tools interface, and publish
them on your website. None of this requires programming skills or any
other technical knowledge.
Watch the video to the right to learn more, visit the Form
Builder documentation or try it out in our online demo.
Impress and delight your clients! Display your form submission data
in pie, column, bar, line and area charts, and embed them in your
own webpages.
Learn More »
Almost every web form - regardless of the language it was created in - submits its information via what's known as a HTTP
POST or GET request. Form Tools works by intercepting and interpreting POST requests, storing that information in a
database before redirecting the user to another page. It uses a preliminary form submission to find out what information
your form contains, then constructs a custom database table to house the data.
Form Tools can receive form submissions by either directly pointing your form to the script or by using the
API to submit the form content via PHP code.
Something that everyone needs is to be able to get form data out of the database after it gets there. But in what format? Form Tools
comes with an extremely powerful Export Manager module which provides you with unprecedented control over what format your
information takes. By default, the module lets you export your form data via CSV (comma-separated values), Excel, XML and HTML
(printer-friendly). But you can customize this list for whatever you need. Need a custom XML feed of your form data? No problem.
For further information on the Export Manager, see the module documentation.
Another common requirement for forms is being able to email the user who just submitted the form, and
one or more site administrators to let them know there has been a new submission. Form Tools lets you construct
as many "email templates" as you want, going to as many email recipients as you need. Every single email
may contain different content that's been customized to the individual recipient - as well as include content
from the form submission itself.
Since the PHP mail() function is notorious for being inconsistently implemented across different servers,
Form Tools has an optional Swift Mailer module to let you send emails via an SMTP server instead.
Form Tools has two levels of user accounts: an administrator (you!) and any number of client accounts.
Each client account is entirely customizable - and we do mean entirely! If need be, every client account may
use a different theme, it may display the interface in a different language, show different forms, form data,
form fields, navigation menu items - you name it. Form Tools is so flexible you can use one installation to store
form submission data from multiple websites, with a client account set up for each one.
Views are one of the most powerful features of Form Tools. Unlike other scripts that just show you the unfiltered form
information, Form Tools lets you construct any number of ways of viewing that data, called Views.
Want to show submissions from your form where the user entered a particular value? Want to only show submissions from
last year? Want to only see submissions from Vancouver, BC, sent between March 10th-17th 2010, where the sender was
between the ages of 16-25, under 6 feet tall and had brown eyes? No problem! (We're not kidding). You can create Views
to precisely fine-tune what information you see, based on whatever unique information is gathered by your form.
Everything in the Form Tools interface is customizable. You can create custom navigation menus for the admin and client
accounts containing whatever links you need, and even add in custom pages via the Pages module. Plus, every Form Tools
account can be rendered with a different theme. Themes control the overall style for each page in the user interface. By using
Views you can choose which form fields are visible in each account's interface, the order they appear, whether
they are editable and much more. The "out the box" installation largely takes care of all this customization for you, but
it's nice to know that if you need to, you CAN customize it.
Form Tools is arranged into the following components:
| Form Tools Core |
All code required for the most basic usage of the script. |
| Modules |
Separate, optional components which perform specific tasks. |
| Themes |
Visual presentation layers for the entire Form Tools script. |
| API |
The API lets programmers use Form Tools functionality within their own pages. |
| Translation Files |
Every language string within Form Tools is loaded from a language file. |
Extensions
Extensions come in two flavours: modules and themes.
Modules
Modules are optional plug-and-play components that you can pick and choose, depending on your
project's requirements. Modules interact with the core script to do pretty much anything you need. And
if the functionality doesn't already exist, you can always write your own!
Themes
Form Tools comes with three themes built-in. Themes let you completely re-skin the user interface to
make it look the way you want. This can be extremely convenient if you're installing Form Tools on a client
site and want it to look like their own site.
Translations
Form Tools is truly international. Every user account can choose a different language file, should they wish to
see the interface appear in the language of their choice. With over 50 completed translations available, using
Form Tools in your language is as simple as downloading the language file and selecting it from within the Form
Tools UI.
To promote international use, we auto-translated a good portion of the text with Google Translate. As such,
we're always on the lookout for bi-lingual people to help review these auto-translations and improve the quality
of the translations for everyone. Anyone can sign up to help translate/review. You can find out more information
on the Help Translate page.
API
The API, or Application Programming Interface, is a supplementary script that comes bundled with Form Tools. It's
written for programmers who need to access Form Tools data or functionality from the outside world. The most common
use for the API is for multi-page forms - to maintain sessions over a series of form pages and then submit the content to
Form Tools. But the API also contains functions for things like displaying a CAPTCHA in your forms, displaying images,
creating, updating and deleting client accounts, logging in and displaying form submission data in your pages.
And of course, we've documented the API thoroughly with both API documentation
and through a series of tutorials.
Documentation
Form Tools is a large, powerful script with a lot of functionality. Because of this, it can sometimes be confusing or unclear
how to do a particular thing - and that's where the help documentation come in! We pride ourselves in maintaining clear and
thorough documentation of all aspects of the Form Tools script and modules. We have searchable sections for installation,
end user documentation, API documentation, tutorials and technical information for module and theme development.
There's a great deal of information there to help you out and there's always our forums in case you need to ask a question
or two.
If you ever feel our documentation is missing something, please let us know and we'll do our best to remedy it!
Forums
No script would be complete without a place to get help, report bugs, make feature suggestions or just plain vent!
Visit our forums to get help. We only remind you that this is open source and generates very little income, so
we tend to help out when we can in the evenings and weekends. But there's a really great community of people always
around to help.
Older Form Tools 1.x users can find the old site here. Form Tools
2 is actually a very different - and much improved - script from its predecessor. So we do encourage you to either
upgrade or start using Form Tools 2 for all future projects.