- Instant setup – just copy the files to your server and make the config file and forms directory writeable and then run the install page – that’s it. Note: the script uses text files to store relevant data so there is no need to do any DB setup.
- Protect script with admin account – Upon initial setup you will specify an administrator username and password.
- Multi-table support – This form generator will allow you to create forms with fields for more than one table in your database. To the best of my knowledge, this is the only script that offers this capability.
- Valid XHTML 1.0 Transitional code – verified via W3C
- UTF-8 multi-lingual capable
- Form elements supported – this script supports the standard elements, including:
- file uploading
phpAddEdit supports three different file upload form field types:
- file_upload – A standard upload that allows you to browse the local computer for a file which will be uploaded to a directory you specify when the form is submitted (and will write the filename to the table field you specify)
- file_upload (AJAX Single) – An AJAX upload that will instantly upload a file and update the selectbox options. This *single* field type is just like the standard
file_uploadtype except for the AJAX capability and you can specify how many rows to display in the file listing selectbox
- file_upload (AJAX) – similar to the single AJAX file upload option with two big exceptions: (1) you can actually select multiple files and (2) the filenames will be written to a table that is separate from the main form’s table; thus this option is only used for multiple table forms.
The script also supports some custom elements I have found useful in the past, including:
- datefield – three separate text boxes for month, day and year; when the form is submitted the three fields are combined into MySQL friendly date (YYYY-MM-DD)
- textarea_FCK – this is a basic textarea but uses the very popular and very useful open source FCK editor
- selectbox_other (AJAX) – this is a basic selectbox with a textbox option beside it. Use this if you want to allow your form users to add data that isn’t already found in the selectbox. For example, say you have a countries selectbox but you only list countries of existing users. When a new user registers from a country not in the list, he could enter his country in the optional textbox and it would be added to the database on submission.
- selectbox_multirow – this is like selectbox_multiple but instead of separating the selections by a comma and treating them as one string, multiple selections will add or edit multiple database table rows.
- textbox_noedit – a basic textbox that is read only
- submit_oneclick – this is a standard submit button that once clicked cannot be clicked again (helpful for preventing duplicate form submissions)
- Validation (error checking) support – easily specify error check criteria for all your form fields. Default validation options include:
required – form element cannot be empty
unique – make sure that the value submitted doesn’t already exist in the table field
minimum chars – form element must be at least X characters long
maximum chars – form element must be less than X characters long
minimum value – must be a number >= X
maximum value – must be a number <= X
equal – must equal X
not equal – must not equal X
password – used with a password field to verify that the two passwords entered are the same
email – check to see if user entered an appropriate email address. Choices include:
- lax: check that the formatting of an email address is correct
- medium: check formatting AND check if host exists
- strict – check formatting, host exists AND user exists (warning: sometimes slow and occasionally produces false failures
filesize – file upload cannot exceed X KB
URL – verify that the value entered is properly formatted URL and/or actually exists
Custom error checking – see Customizable entry below…
- CSS support – you are able to add CSS classes to the various form elements, the form itself, and the table and text displaying the form
- Human Verification – Include a basic math question (customizable) which can help prevent bot form submissions
- Encoding Scheme Support – You can specify which encoding scheme you want to use for the database for each form you create (default is UTF-8)
- Form layout – you are able to define up to 3 sections (tables) along with the number of rows and columns (and CSS classes) for each section to hold your finished form, specifying which form elements goes in which table cell.
- Edit existing forms – all form data is stored in the phpAddEdit Form Generator forms directory (
/addedit/forms/by default) and you can easily edit these forms
- One-line implementation – once you’ve created your form, all that is required to use it is one simple PHP include statement.
- Customizable – this form generator will handle most basic form needs for adding and editing DB information but for advanced users, three customization options exist: customizing form behavior before the form is actually rendered, error checking on form submission, and customized post-execution behavior (submit data manipulation). Basically, you can edit three files (
addedit-execute-custom.php) to add any custom PHP code you may need.
- Email on submit – your form will support up to two different mailings on submit. This could be useful if you want to mail a webmaster and the person submitting, for example, using different subjects and body messages.
- Test email settings – after you specify your email settings you can use the Test Email page to test the settings without having to invoke the form itself (Note: not available on the demo version)
- Redirect on submit – you can specify any page to be redirected to upon successful submission of your form
- Dynamic element content – you can specify a static list of choices for multiple choice fields (radio, selectbox) or specify SQL to populate the field dynamically
- RSS Creation / Automatic Ping – you can add an option to your forms that when selected will create a RSS feed upon successful submission. The script will also ping various blog directories (currently Technorati and Ping-o-matic).
- Trackback Support – you can have phpAddEdit search selected fields for any relevant URLs that can receive trackback and have a trackback sent.
- Submit once – submit buttons include code to make the button inactive after clicked so users can’t submit the form multiple times (by accident or on purpose)
- URL – check to see if the URL entered is properly formatted (e.g. http:// vs. htp:/) and that it is active
- unique – check to see if the value entered already exists in the database
- Custom form completion text message – separate for new submission vs. editing; e.g. “Thanks for completing our survey”
- Use existing FCK editor installation – If you want to use the textarea_FCK field, but are already using a version of FCK editor, you can edit the
config.phpfile to specify a location for the script to look to use your FCK editor installation.