- Build forms that validate data and are linked to a database.
- Build forms that send emails.
- Automatically display formatted table and database data.
- Password protect pages with user accounts.
- Build dynamic menus.
- Display errors and informational messages.
- A field library with 64 fields. Implements all basic HTML input fields and then adds many more including fields for addresses, phone numbers, dates, dollar amounts, dynamic lists, etc...
- Ability to load/write/update an entire form of data using a single function call.
- Ability to add logic on how to validate the form and process the form when the data is valid.
- Contains widgets like: menus, messages, sections and titles.
- Server side error checking (instead of browser side) so you can ensure that your data is not corrupt or has been tampered with.
- The look and feel of the forms and widgets is completely customized through CSS (Cascading Style Sheets), separating look and feel from functionality.
- Adds a consistent and professional feel to your website.
- Ability to create own fields by extending the field API.
- Pure Object Oriented Programming (OOP). There is a base class for FormField and all other fields derive from FormField. Form classes contain dynamic arrays of fields. Fields and forms contain logic to display themselves, interact with a database, report errors, etc...
- Ability to set field help, HTML located on the right side of form.
- Ability to preview form data to ensure it is correct.
- Ability to disable/enable individual fields or groups of fields.
- Ability to set whether a field is editable or not.
- Ability to hide fields in a form.
- Ability to maintain a standard value of form field, database value, display value and HTML display value—all handled by the specific field class.
- Ability to copy field values and field instances from another form.
- Ability to display field boxes below the label or to the right of the label.
- Ability to format lists of radio buttons and checkboxes into rows and columns.
- Ability to enter other strings for drop downs and list fields.
- Ability to set date and time ranges for date and time fields.
- Ability to deny the uploading of specified file types.
- Automatic renaming of uploaded files so that files with the same name don't overwrite each other.
- Ability to add automatic form time stamping.
- Ability to record IP address of user who submits form.
- Automatically propagates form values even when they are not being edited.
- Popup calendar and color chooser for quick selection of dates and colors.
- Pre-populated lists of countries, US States, and Canadian Provinces.
- Ability to cause an enter key press to tab to the next field.
- Ability to email form data in HTML and clear text.
- Ability to attach files to emails.
- Automatic attachment of files uploaded with a form's UploadField.
Dynamic Validation and Form Actions:
- Dynamically pass around field and form validators, objects with user defined callback methods. Allows for one to encapsulate the structure and functionality of a form while remaining dynamic and versatile.
- Dynamically pass around button action listeners for processing button clicks.
- Helper functions for managing a database connection, performing queries and other standard database operations.
- Ability to manipulate a database using arrays of data instead of just raw SQL queries, yielding a more abstract design.
- Helper function to process a SQL script with comments.
- Ability to display a database query in the form of a professionally stylized table.
- Pagify database data: skip to a page, view all results on a single page, display number of results found.
- Automatic query sorting based on clicking a column heading.
- Ability to highlight a row or column or apply other CSS formatting to a row or column.
- Ability to hide a column of data.
- Ability to load data from an associative array for quick display as a nicely formatted HTML table.
- Ability to format a single dimensional array of data into rows and columns.
- Ability to break a table of data into several tables of data so that space can be maximized when a table is long and narrow.
- Export/import table data using comma or tab delimited files.
- Supplied with complete API documentation, created with embedded javadoc style comments.
- Supplied with numerous tutorials and examples.
CSS (Cascading Style Sheets):
- 11 CSS templates for changing the look and feel of forms and widgets: menus, messages, sections, etc...
- Ability to create your own CSS templates.
- Build stylized horizontal and vertical menus powered by dynamic arrays.
- Display error, warning, informational and question messages in a consistent format.
- Functions for dynamically disabling and enabling fields.
- Auto tab on phone numbers, tax ids, etc...
- Automatic support for SSL (Secure Socket Layer), 128 bit encryption. Just use "https" instead of "http" when referencing your forms and FORMfields will take care of the rest.
- Password protect forms with a FORMfields password. This doesn't require htaccess.
- Ultimate protection using the ImageVerificationField, which use a dynamically generated random number code image to prevent bots from submitting your forms.
- The SessionVerificationField provides lesser protection and is invisible to the user, but is still enough to prevent most spam attacks. This field requires that the user submitting the form maintain an active session. Most spam bots don't implement sessions.
- Compatible with most major browsers. Tested on FireFox, Internet Explorer, Opera and Netscape.
- Compatible with PHP 4 and later.
- W3C XHTML 1.0 Transitional compliance.
- W3C CSS compliance.
- Doesn't generate notices or any other PHP errors.
- Works with PHP safe mode enabled and fopen_enabled disabled.
- Basic Multilanguage support allows one to dynamically import language files as CSV (Comma Separated Values) files and translate all text wrapped with the FfLanguageHelper.
- Ability to detect differences in the values of two forms.
- Ability to enable tracked updates that keep database records of all the changes made to the values in a form and records when the data was updated and by whom it was updated.
- Ability to load properties from a file and save properties to a file.
- The FfListHelper formats arrays into HTML lists.
- Routines to automatically htmlify or convert URLs and email addresses in clear text into HTML hyperlinks.
- Automatically detects your web server's PHP path configuration.
- Easy installation: just upload the FORMfields Lib to website and run the configuration script. Installation on most systems doesn't require you to manually modify any files.
- GUI for configuring the FORMfields password and database account info.
- Ability to disable all FORMfields emailing for global debugging.
- Functions for debugging the contents of a form.
- Global configurations file for tweaking global settings and adding your own global settings.
- The FORMfields Lib is already being used to power many websites, including:
- Furthermore, the FORMfields Lib has been used in several large scale applications: