Form1 Builder MYSQL

Help File

Version 30 - The latest version is always available from www.softswot.com
Copyright © softSWOT

Register Form1 Builder MYSQL to maintain this software and enable all features. Only registered software and code built using registered software will continue functioning.

Overview

This software includes the base Form1 Builder plus an additional MYSQL feature. With Form1 Builder MYSQL you can automatically have form submission data added to your MYSQL database. For specific details on using this software with MYSQL please refer to the MYSQL section.

Form1 Builder runs in your web browser and allows you to easily build any web form. It applies the base Form1 structure to provide a single file form with a hidden email delivery address and an extensive range of benefits and options.

New Features - Version 30
Key Features

Plus - Form1 Builder software provides:

All Form Code generated includes the extensive benefits and options provided by Form1 processing including:

Form1 (the generated form code) runs on your web server. To run Form1 your server must support the php scripting language. Most commercial web servers support php. For information on php and how to check if it is available on your server goto What is php?

If your sever does not support php our ezyForm Hosting service maybe of interest. ezyForm Hosting can process your forms for you providing a quick, economical and easy web form solution. By pointing your form action to an ezyForm processing account you can have the form data delivered to your email address, it's as simple as that. You can open a New Account and give it a test run free for 7 days. ezyForm Hosting accounts are based on the Form1 processing engine and support most Form1 features and functionality. So if you are looking for a quick and easy way to process your web forms without having to worry about your server try ezyForm Hosting.

Instructions for Use

Download Form1 Builder MYSQL and Install it on your local system or upload it to your server. To use the Upload function Form1 Builder files must be installed on your server. Then open the Form1 Builder file in your web browser (JavaScript must be enabled). At the top of the page is the control Menu.

Initially it is recommended that you build a Quick Form, and give it a test run on you server. To do this:

  1. From the top menu click Required.
  2. Input your Form Delivery Email Address.
  3. Click Quick Form then Build Form.
  4. Then
    1. Select the Form Code Complete and copy it to a text editor.
    2. Save it as a file with a .php extension (i.e QuickForm.php). Some servers require files to have the extension .php before they will execute php code. If using NotePad as your text editor when you Save, select Save As Type "All Files" and then provide the full File Name i.e "QuickForm.php" to ensure a .txt extension is not applied to the file.
    3. Then upload the file to your web server and open the form in your browser i.e www.mydomain.com/QuickForm.php to give it a test run.
  5. or
    1. If you are running Form1 Builder on your server you can use the Upload function.

Once you have seen Form1 in action on your server you can explore the range of features offered by Form1 Builder and generate single file forms to suit all your requirements. Use the control Menu at the top or the progressive control links at the bottom of each section to develop forms.

Variables are set in the Form1 Builder and can be left empty if not required. Alternatively variables can be defined using hidden fields in your form. Variables set in the form overwrite variables set in the script except the Delivery Email Variable which will only use hidden form fields if it has no value in the processing script.

Required Variable
Form Delivery Email Address

Form Delivery Email Address.
This is where you want your form data sent. To send to multiple addresses separate each address with a comma (i.e firstemail@mydomain.com,secondemail@mydomain.com).

Example: Variable set as myemail@mydomain.com. In the processing script this appears as $delemail = "myemail@mydomain.com";.

Alternatively: This variable can be set using two hidden fields in your form. For example:
<input type="hidden" name="delemailname" value="myemail" />
<input type="hidden" name="delemaildomain" value="mydomain.com" />
The values of the fields delemailname and delemaildomain are combined by the script with an @ to create the full email address (ie myemail@mydomain.com). This prevents email harvesting even when the email components are visible in the code. If a Form Delivery Email Address ($delemail) is set in the processing script the hidden fields delemailname and delemaildomain are ignored. They are only applied if the Form Delivery Email Address ($delemail) variable is empty ie $delemail = "". It is recommended to set the Form Delivery Email Address ($delemail) in the processing script to ensure that form delivery cannot be redirected.

MYSQL

To use the MYSQL option you must have a server based MYSQL database and it must have an existing table with field names that correspond to form field names. It is recommended that the form is run on the same server as your MYSQL database. On form submission a new record is added to the MYSQL database table. MYSQL database table fields that are not set as MYSQL Fields to be Skipped and have the same name as form fields will include the input of the form field. Form field inputs are processed as text variable types.

Additional form variables can also be added to the MYSQL table by including a field in the MYSQL table that has the same name as the field to be included.

The processed time as set in the form can be included by having a MYSQL table field with the name Processed. For this field to be formatted as a date field in MYSQL the field type should be DATETIME.

When Include User Variables is set variables available include:

Field Name Description
HTTP_USER_AGENT User Browser
REMOTE_ADDR User IP Address
SERVER_ADDR Form1 PHP Server IP
SERVER_NAME Form1 PHP Server Name
PHP_SELF Form1 PHP Script
Domain Form1 URL Domain
HTTP_REFERER Form1 URL

When Include User Cookies is set Cookies can be added to the MYSQL table by having a MYSQL table field with the name of the Cookie.

MYSQL Use

To use this feature MYSQL Support must be enabled in the server php configuration. If Form1 Builder is running on your server, and the server supports php from the Upload section you can View Server php Configuration. To use MYSQL the php configuration MYSQL section must be displayed.

MYSQL Use.
When selected (checked) this sets form processing to add submitted form data to a MYSQL database. If unchecked a MYSQL database will not be used. In the processing script this appears as $mysqluse = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="mysqluse" value="true" />
Variables set in the form overwrite variables set in the processing script.

MYSQL Server Name

MYSQL Server Name.
This is the server for your MYSQL database (i.e mydomain.com).

Example: If your MYSQL server name is mydomain.com. In the processing script this appears as $mysqlservername = "mydomain.com";.

Setting this variable as a hidden field is not recommended.

MYSQL User Name

MYSQL User Name.
This is the user name for your MYSQL database.

Example: If your MYSQL user name is myuser. In the processing script this appears as $mysqlusername = "myuser";.

Setting this variable as a hidden field is not recommended.

Instead of setting the administrator as your MYSQL User it is good practice to set it as a user with Read/Write permissions only. To do this you will need to set up a specific user and password with Read/Write permissions in your database.

MYSQL User Password

MYSQL User Password.
This is the password for your MYSQL database.

Example: If your MYSQL user password is mypassword. In the processing script this appears as $mysqluserpassword = "mypassword";.

Setting this variable as a hidden field is not recommended.

Instead of setting the administrator as your MYSQL User it is good practice to set it as a user with Read/Write permissions only. To do this you will need to set up a specific user and password with Read/Write permissions in your database.

MYSQL Database Name

MYSQL Database Name.
This is the name of your MYSQL database.

Example: If your MYSQL database name is mydatabase. In the processing script this appears as $mysqldatabase = "mydatabase";.

Setting this variable as a hidden field is not recommended.

MYSQL Table Name

MYSQL Table Name.
This is the name of the Table in your MYSQL database. This must be an existing table in your MYSQL database. The form data will be added to this table.

Example: If your MYSQL table name is mytable. In the processing script this appears as $mysqltable = "mytable";.

Setting this variable as a hidden field is not recommended.

MYSQL Empty Value

MYSQL Empty Value.
This is the value that will be added to the MYSQL table field if there is no corresponding form field or the form field value is empty and the table field is not included in MYSQL Fields to be Skipped. If this is left empty any MYSQL table fields that are not skipped must accept NULL values.

Example: Variable set as NA. In the processing script this appears as $mysqlemptyvalue = "NA";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="mysqlemptyvalue" value="NA" />
Variables set in the form overwrite variables set in the processing script.

MYSQL Fields to be Skipped

MYSQL Fields to be Skipped.
This is the MYSQL table field names that are to be skipped when the table is updated with form data. This is primarily used for automatically incremented fields in MYSQL. Names of fields to be skipped should be input separated by a comma. If this is left empty any MYSQL table fields that do not have a corresponding form field will be be added with the MYSQL Empty Value.

Example: Variable set as ID. In the processing script this appears as $mysqlfieldskip = "ID";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="mysqlfieldskip" value="ID" />
Variables set in the form overwrite variables set in the processing script.

Send Email Only if Error

Send Email Only if Error.
This sets form processing to only send form data by email when there is an error adding the data to the MYSQL database. If an MYSQL error occurs the subject of the form delivery email is modified to start with Error MYSQL. The email is sent to the Form Delivery Email Address. Because any MYSQL error notification is sent by email you must always provide a Form Delivery Email Address. If unchecked form data will always be sent by email as well as added to the MYSQL database table. In the processing script this appears as $sendonlyiferror = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="sendonlyiferror" value="true" />
Variables set in the form overwrite variables set in the processing script.

Variable Settings

Controls to save and load Required and Optional Variable Settings.

Default Variables sets the Required and Optional Variables to default values, these are also applied when you start a new Form1 Builder session. Default values are:

Save Variables saves all the current Required and Optional Variables. Variables are saved as Cookies and Cookies must be enabled.

Load Variables sets all Required and Optional Variables to the previously saved values.

Clear All clears all Form1 Builder fields.

Optional Variables

Optional Variables include General Variables which can be applied to all forms and Advanced Variables which are applicable only in specific circumstances. They can be left empty if not required.

Content

- General variables related to the content of the form delivery email.

Deliver Empty Form Fields

Deliver Empty Form Fields.
When selected (checked) this will send empty form fields in the form delivery email. In the processing script this appears as $showempty = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="showempty" value="true" />
Variables set in the form overwrite variables set in the processing script.

Deliver First Letter Upper Case Fields Only

Deliver First Letter Upper Case Fields Only.
When selected (checked) this will only send fields with names that start with an upper case letter in the form delivery email. If it is not selected all named fields in the form will be sent in the form delivery email. This may include some fields set by the processing code. In the processing script this appears as $firstupper = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="firstupper" value="true" />
Variables set in the form overwrite variables set in the processing script.

Local Time Offset

Local Time Offset.
This is the local time offset in hours from GMT/UTC and is used to define the form processed time. If set as 0 or left empty GMT/UTC will be recorded. You can use http://www.worldtimeserver.com to find your local time offset.

Example: If local time is 4 hours behind GMT/UTC time the variable is set as -4. In the processing script this appears as $timeoffset = "-4";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="timeoffset" value="-4" />
Variables set in the form overwrite variables set in the processing script.

Verification Subject Code

Verification Subject Code.
This appends the Verification Subject Code to the form delivery email subject and can be used with an email filter to ensure the email originates from the form. If this is left empty no Verification Subject Code will be appended.

Example: Variable set as W4r6hsL9. In the processing script this appears as $verifysubject = "W4r6hsL9";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="verifysubject" value="W4r6hsL9" />
Variables set in the form overwrite variables set in the processing script.

Verification Body Code

Verification Body Code.
This adds the Verification Body Code to the form delivery email body and can be used with an email filter to ensure the email originates from the form. If this is left empty no Verification Body Code will be added.

Example: Variable set as W4r6hsL9. In the processing script this appears as $verifybody = "W4r6hsL9";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="verifybody" value="W4r6hsL9" />
Variables set in the form overwrite variables set in the processing script.

Include User Variables

Include User Variables.
When selected (checked) this will include referrer, server, browser and IP address variables in the delivered form data. If this is unchecked no User Variables will be added to the form data. In the processing script this appears as $usehttpvars = "true";.

Example: User Variables included in the form data are formatted variable name : variable value as:

Variables -
User Browser (HTTP_USER_AGENT): Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624
User IP Address (REMOTE_ADDR): 202.45.107.1
Form1 PHP Server IP (SERVER_ADDR): 64.176.242.139
Form1 PHP Server Name (SERVER_NAME): www.softswot.com
Form1 PHP Script (PHP_SELF): /Form1Try.php
Form1 URL Domain: softswot.com
Form1 URL (HTTP_REFERER): http://www.softswot.com/Form1Try.php

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="usehttpvars" value="true" />
Variables set in the form overwrite variables set in the processing script.

Include User Cookies

Include User Cookies.
When selected (checked) this will include set user cookie data for the current domain in the delivered form data. If this is unchecked no User Cookies will be added to the form data. In the processing script this appears as $usecookvars = "true";.

Example: User Cookies are only those cookies that are currently set on the users system by the domain hosting the form (i.e http://www.mydomain.com). They are included in the form data and formatted cookie name : cookie value as:

Cookies -
a : testCookie

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="usecookvars" value="true" />
Variables set in the form overwrite variables set in the processing script.

Required Fields

- General variables to set and manage the fields identified as required.

Defined Required Form Fields

Defined Required Form Fields.
This is the form field names that are defined as Required (must be completed). Required field names should be input separated by a comma (ie First_Name,Last_Name). If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed. If this is left empty no form fields will be set as required. For Select field types that require multiple selections the field name in the form; not in Defined Required Form Fields ($defrequired); must end with [] and the Select start tag should include <select multiple='multiple'>. All field names set as Required must be included in your form.

Example: To define the field names First_Name and Last_Name as required the variable is set as First_Name,Last_Name. In the processing script this appears as $defrequired = "First_Name,Last_Name";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defrequired" value="First_Name,Last_Name" />
Variables set in the form overwrite variables set in the processing script.

Defined As Empty Form Field Values

Defined As Empty Form Field Values.
This is the form field values that are defined as Empty (not provided). As Empty field values should be input separated by a comma (ie Please make a selection,Input your email address here). If this is left empty no form field values will be defined as empty.

Example: This is commonly used with Select fields so any default value is not treated as user input. For a Required Select field with the first option Please make a selection the selection of the first option will be treated as empty when this variable is set as Please make a selection. In the processing script this appears as $asempty = "Please make a selection";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defrequired" value="Please make a selection" />
Variables set in the form overwrite variables set in the processing script.

Auto Responder

- General variables to set an Auto Responder Message.

Auto Responder Message

Auto Responder Message
This message will be sent to the input value of the Defined Email Address Form Field on form submission. The form should include an input email address field and it should be set as Required in the Defined Required Form Fields.

The Auto Responder Message is sent as a plain text email. All non-Alphanumeric characters should be avoided. Leave empty for no Auto Responder Message. In the processing script this appears as $autoresponse = "Thank you for your request, it is currently being processed.\n\nFor further details on our products and services please visit www.softswot.com.";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="autoresponse" value="Thank you for your request, it is currently being processed.\n\nFor further details on our products and services please visit www.softswot.com." />
Variables set in the form overwrite variables set in the processing script.

If editing an Auto Response Message directly in the form processing script or via a hidden form field use \n to include a line break.

Clear Auto Responder Message clears the Auto Responder text area contents.

Formating

- General variables related to the formatting of the form submission and delivery email.

Display as HTML before Submission

Display as HTML before Submission.
When selected (checked) this will display the form input as a html web page prior to form submission. This should not be used if your form includes a file upload. If unchecked the form will be submitted without prior display. In the processing script this appears as $htmldisplay = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="htmldisplay" value="true" />
Variables set in the form overwrite variables set in the processing script.

Alphabetically Sort Delivered Data by Form Field Name

Alphabetically Sort Delivered Data by Form Field Name.
When selected (checked) this will sort delivered form field data alphabetically by field name. If unchecked the delivered order will be as sent by the browser. In the processing script this appears as $alphasort = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="alphasort" value="true" />
Variables set in the form overwrite variables set in the processing script.

HMTL Email

HMTL Email.
When selected (checked) this will set the form delivery email to include a multipart html format. If unchecked the form delivery email will be plain text. In the processing script this appears as $htmlemail = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="htmlemail" value="true" />
Variables set in the form overwrite variables set in the processing script.

Line Break Off

Line Break Off.
When selected (checked) this will remove the default line break between field Names and Values in the delivered form data. This is only applicable when the form delivery email is plain text with HMTL Email not selected. In the processing script this appears as $breakoff = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="breakoff" value="true" />
Variables set in the form overwrite variables set in the processing script.

Turning the line break off results in the delivered form data format:

Email Address: user@theirdomain.com

Maintaining the line break results in the delivered form data format:

Email Address:
user@theirdomain.com

JavaScript Return

JavaScript Return.
When selected (checked) this will set JavaScript as the default return to form function. This provides a simple means to maintain form content by using JavaScript to return to the previous page. If a user does not have JavaScript enabled return to form defaults to a form reload. To ensure that form content is maintained in all cases please refer to Maintaining Form Content. In the processing script this appears as $jsreturn = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="jsreturn" value="true" />
Variables set in the form overwrite variables set in the processing script.

Reason Return

Reason Return.
When selected (checked) this will add the reason for a return to form to the return to form url. It is only applicable if customized message displays are used. Refer to the Messages for details on how to use this feature. If unchecked no reason will be added. In the processing script this appears as $reasonreturn = "true";.

Alternatively this variable can be set using a hidden field in your form. For example:
<input type="hidden" name="reasonreturn" value="true" />
Variables set in the form overwrite variables set in the processing script.

Set Form1 URL

Set Form1 URL.
This URL address (i.e http://www.mydomain.com/form1.php) is used to force the return to form to a fixed URL when JavaScript Return is set. This setting usually only required when the server is unable to correctly identify the form url. If this is left empty the form url will be determined by the processing code from the server.

Example: Variable set as http://www.mydomain.com/form1.php. In the processing script this appears as $setform1url = "http://www.mydomain.com/form1.php";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="setform1url" value="http://www.mydomain.com/form1.php" />
Variables set in the form overwrite variables set in the processing script.

Access Password

Access Password.
This sets a required password to access the form. If this is left empty no access password is required. The Access Password feature is only functional when a single file form structure is applied. This is when the form layout and processing code are in the same file, as in a standard Form1 structure. Also Session Support must be enabled in the server php configuration. In most cases this will be set as enabled by the server host. If Form1 Builder is running on your server, and the server supports php from the Upload section you can View Server php Configuration to see the Session Support setting.

Example: Variable set as secretpassword. In the processing script this appears as $accesspass = "secretpassword";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="accesspass" value="secretpassword" />
Variables set in the form overwrite variables set in the processing script. It is recommended to set this variable in the processing script to ensure that it is not revealed in the source code.

If you are using the Access Password feature with users who may not have cookies enabled you should include a hidden field within your form to pass the access code value. The value of this field should be the same as the Access Password variable you set in the script. As users cannot display the form page until they have provided the correct access code value this presents no security issue as users must know the Access Code before the form will be displayed. This field can be set using a hidden field in your form such as
<input type="hidden" name="accesscode" value="secretpassword" />

CSS (Cascading Style Sheet) File Name

CSS (Cascading Style Sheet) File Name.
This is the URL address (i.e http://www.mydomain.com/style.css) of the Cascading Style Sheet (CSS) file you want to apply to the default html notification pages, and forms built using Quick Form and Designer Form functions. If this is left empty default style settings will be applied.

Example: Variable set as http://www.mydomain.com/style.css. In the processing script this appears as $cssfile = "http://www.mydomain.com/style.css";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="cssfile" value="http://www.mydomain.com/style.css" />
Variables set in the form overwrite variables set in the processing script.

Messages

- General variables related to message and notification display.

Thank You URL

Thank You URL.
This is the URL address (i.e http://www.mydomain.com/thankyou.html) you want to display after form submission. If this is left empty a standard thank you message will be displayed with a button to return to the form. The standard message will apply the CSS (Cascading Style Sheet) File Name if set.

Example: Variable set as http://www.mydomain.com/thankyou.html. In the processing script this appears as $thankurl = "http://www.mydomain.com/thankyou.html";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="thankurl" value="http://www.mydomain.com/thankyou.html" />
Variables set in the form overwrite variables set in the processing script.

When you include this setting and Reason Return is selected the Form file name i.e form1.php is also passed to the Thank You URL as the value of a variable $reason. If you add the code:
<?php if(!isset($_GET)){$_GET=$HTTP_GET_VARS;}if(isset($_GET["reason"])){echo $_GET["reason"];} ?>
to your web page code the form file name will be displayed when the page is run on a server supporting php and viewed in a browser. Some servers require files to have the extension .php before they will execute php code.

Required URL

Required URL.
This is the URL address (i.e http://www.mydomain.com/required.html) you want to display if any Required fields are not completed. If this is left empty a standard required message will be displayed with a button to return to the form. The standard message will apply the CSS (Cascading Style Sheet) File Name if set. Required fields are set as Required in the Defined Required Form Fields variable.

Example: Variable set as http://www.mydomain.com/required.html. In the processing script this appears as $requrl = "http://www.mydomain.com/required.html";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="requrl" value="http://www.mydomain.com/required.html" />
Variables set in the form overwrite variables set in the processing script.

When you include this setting and Reason Return is selected the missing Required Form Field Name i.e Email is also passed to the Required URL as the value of a variable $reason. If you add the code:
<?php if(!isset($_GET)){$_GET=$HTTP_GET_VARS;}if(isset($_GET["reason"])){echo $_GET["reason"];} ?>
to your web page code the form file name will be displayed when the page is run on a server supporting php and viewed in a browser. Some servers require files to have the extension .php before they will execute php code.

Check Email URL

Check Email URL.
This is the URL address (i.e http://www.mydomain.com/checkemail.html) you want to display if the Email Address submitted is not valid. If this is left empty a standard check email message will be displayed with a button to return to the form. The standard message will apply the CSS (Cascading Style Sheet) File Name if set. The email address is identified as the input of the form field that has the name of the Defined Email Field Name, by default this is Email_Address.

Example: Variable set as http://www.mydomain.com/checkemail.html. In the processing script this appears as $ckurl = "http://www.mydomain.com/checkemail.html";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="ckurl" value="http://www.mydomain.com/checkemail.html" />
Variables set in the form overwrite variables set in the processing script.

When you include this setting and Reason Return is selected the email form field input is also passed to the Check Email URL as the value of a variable $reason. If you add the code:
<?php if(!isset($_GET)){$_GET=$HTTP_GET_VARS;}if(isset($_GET["reason"])){echo $_GET["reason"];} ?>
to your web page code the form file name will be displayed when the page is run on a server supporting php and viewed in a browser. Some servers require files to have the extension .php before they will execute php code.

Form Process Error URL

Form Process Error URL.
This is the URL address (i.e http://www.mydomain.com/processerror.html) you want to display if the form cannot be delivered on submission. If this is left empty a standard processing error message will be displayed with a button to return to the form. The standard message will apply the CSS (Cascading Style Sheet) File Name if set.

Example: Variable set as http://www.mydomain.com/processerror.html. In the processing script this appears as $errurl = "http://www.mydomain.com/processerror.html";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="errurl" value="http://www.mydomain.com/processerror.html" />
Variables set in the form overwrite variables set in the processing script.

When you include this setting and Reason Return is selected the email form field input is also passed to the Check Email URL as the value of a variable $reason. If you add the code:
<?php if(!isset($_GET)){$_GET=$HTTP_GET_VARS;}if(isset($_GET["reason"])){echo $_GET["reason"];} ?>
to your web page code the form file name will be displayed when the page is run on a server supporting php and viewed in a browser. Some servers require files to have the extension .php before they will execute php code.

Pre-Defined Fields

- General variables related to the handling of specific fields.

Pre-Defined Fields are not necessary for form processing but when included will be applied in a defined manner.

Defined First Name Form Field

Defined First Name Form Field.
This is the field name for the pre-defined input First Name. The input value is treated as a name provided by the form user. If provided it is combined with the input from the Defined Last Name Form Field as "First_Name Last_Name" and applied in the From address of the delivered form data email. The default value is First_Name, this can be changed by providing a different field name. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator (ie First_Name) and will be replaced by a space when the field name is displayed. If this is left empty there will be no pre-defined data for this variable.

Example: Variable set as First_Name. In the processing script this appears as $deffirstname = "First_Name";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="deffirstname" value="First_Name" />
Variables set in the form overwrite variables set in the processing script.

Defined Last Name Form Field

Defined Last Name Form Field.
This is the field name for the pre-defined input Last Name. The input value is treated as a name provided by the form user. If provided it is combined with the input from the Defined First Name Form Field as "First_Name Last_Name" and applied in the From address of the delivered form data email. The default value is Last_Name, this can be changed by providing a different field name. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator (ie Last_Name) and will be replaced by a space when the field name is displayed. If this is left empty there will be no pre-defined data for this variable.

Example: Variable set as Last_Name. In the processing script this appears as $deflastname = "Last_Name";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="deflastname" value="Last_Name" />
Variables set in the form overwrite variables set in the processing script.

Defined Email Address Form Field

Defined Email Address Form Field.
This is the field name for the pre-defined input Email Address. The input value is treated as an email address provided by the form user and checked for validity. It is applied in the From address of the delivered form data email. The default value is Email_Address, this can be changed by providing a different field name. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator (ie Email_Address) and will be replaced by a space when the field name is displayed. If this is left empty there will be no pre-defined data and the delivery email address will be used as the From address.

Example: Variable set as Email_Address. In the processing script this appears as $defemail = "Email_Address";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defemail" value="Email_Address" />
Variables set in the form overwrite variables set in the processing script.

Defined Subject Form Field

Defined Subject Form Field.
This is the field name for the pre-defined input Subject. The input value is applied as the subject of the delivered email. It can be set up as a text field for user input or as a hidden filed with a pre set value. The default value is Subject, this can be changed by providing a different field name. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed. If this is left empty there will be no pre-defined data and the default subject Form Submission will be used.

Example: Variable set as Subject. In the processing script this appears as $defsubject = "Subject";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defsubject" value="Subject" />
Variables set in the form overwrite variables set in the processing script.

Defined Email Copy Form Field

Defined Email Copy Form Field.
This is the field name for the pre-defined input Email Copy. This field is usually a check box and when selected (checked) by the user a Carbon Copy (CC) of the form data email is sent to the From email address as determined by the Defined Email Address Field. This should only be used in conjunction with a Defined Email Address Field that is set as Required in the Defined Required Form Fields to ensure a user email address is provided otherwise it may result in two emails being delivered to the form delivery email address. The default value is Email_Copy, this can be changed by providing a different field name. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed. If this is left empty there will be no pre-defined data.

Example: Variable set as Email_Copy. In the processing script this appears as $defemailcopy = "Email_Copy";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defemailcopy" value="Email_Copy" />
Variables set in the form overwrite variables set in the processing script.

File Attachments

- Advanced variables related to handling file attachments with form delivery.

To use File Attachments Display as HTML before Submission must not be selected. When you use Designer form to add a file attachment field Display as HTML before Submission is automatically unselected.

Also file_uploads must be set as on in the server php configuration. In most cases this will be set as on by the server host. If Form1 Builder is running on your server, and the server supports php from the Upload section you can View Server php Configuration to see the file_uploads setting.

Defined File Attachment Form Field

Defined File Attachment Form Field.
This is the field name for the pre-defined input File Attachment. This field must be of the input type="file" and the form start tag must include enctype="multipart/form-data" to enable file attachments. Spaces should not be used in field names, an underscore _ can be used as a separator (ie Attach_File) and will be replaced by a space when the field name is displayed. If this is left empty no file attachments will be processed.

Example: Variable set as Attach_File. In the processing script this appears as $deffileatt = "Attach_File";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="deffileatt" value="Attach_File" />
Variables set in the form overwrite variables set in the processing script.

Maximum Size of File Attachment

Maximum Size of File Attachment.
This is the maximum allowable size in bytes of file attachments. The maximum upload size may also be limited by the server settings. If this is left empty or set to 0 no file attachments will be processed.

Example: To limit attached file sizes to around 50 kb (50 kilobytes) set this variable as 50000. In the processing script this appears as $filemaxsize = "50000";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="filemaxsize" value="50000" />
Variables set in the form overwrite variables set in the processing script.

The maximum allowable file size will be limited by the upload_max_filesize set in the server php configuration. If Form1 Builder is running on your server, and the server supports php from the Upload section you can View Server php Configuration to see the upload_max_filesize.

Allowable File Types as Attachment

Allowable File Types as Attachment.
This is the allowable file types (MIME) for file attachments. Allowable file types should be input separated by a comma (ie image/gif,image/jpeg,image/pjpeg,image/png,image/x-png,application/zip). Information on MIME types is available at W3Schools. Some file types have more than one MIME ie image/jpeg and image/pjpeg both refer to jpeg images. When a File Type Not Allowed Message is displayed it includes the not allowed file type. To enable processing of this file type add it to this variable. If this is left empty no file attachments will be processed.

Example: To allow attachments of gif, jpeg and png images as well as zip files set this variable as image/gif,image/jpeg,image/pjpeg,image/png,image/x-png,application/zip. In the processing script this appears as $fileallow = "image/gif,image/jpeg,image/pjpeg,image/png,image/x-png,application/zip";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="fileallow" value="image/gif,image/jpeg,image/pjpeg,image/png,image/x-png,application/zip" />
Variables set in the form overwrite variables set in the processing script.

Mathematical Functions

- Advanced variables related to handling mathematical functions in the form.

Defined Plus Form Fields

Defined Plus Form Fields.
These are the field names defined as Plus fields for Mathematical Functions. Field names should be input separated by a comma (ie Item_1,Item_2). The order of calculation is determined by the variable Execution Order of Form Fields. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed.

Example: To set the input for the fields named Item_1 and Item_2 as plus fields set this variable as Item_1,Item_2. In the processing script this appears as $defplus = "Item_1,Item_2";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defplus" value="Item_1,Item_2" />
Variables set in the form overwrite variables set in the processing script.

Defined Minus Form Fields

Defined Minus Form Fields.
These are the field names defined as Minus fields for Mathematical Functions. Field names should be input separated by a comma (ie Item_3,Item_4). The order of calculation is determined by the variable Execution Order of Form Fields. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed.

Example: To set the input for the fields named Item_3 and Item_4 as minus fields set this variable as Item_3,Item_4. In the processing script this appears as $defminus = "Item_3,Item_4";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defminus" value="Item_3,Item_4" />
Variables set in the form overwrite variables set in the processing script.

Defined Multiply Form Fields

Defined Multiply Form Fields.
These are the field names defined as Multiply fields for Mathematical Functions. Field names should be input separated by a comma (ie Item_5,Item_6). The order of calculation is determined by the variable Execution Order of Form Fields. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed.

Example: To set the input for the fields named Item_5 and Item_6 as multiply fields set this variable as Item_5,Item_6. In the processing script this appears as $defmultiply = "Item_5,Item_6";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defmultiply" value="Item_5,Item_6" />
Variables set in the form overwrite variables set in the processing script.

Defined Divide Form Fields

Defined Divide Form Fields.
These are the field names defined as Divide fields for Mathematical Functions. Field names should be input separated by a comma (ie Item_7,Item_8). The order of calculation is determined by the variable Execution Order of Form Fields. If Deliver First Letter Upper Case Fields Only is selected all form field names to be delivered must start with an upper case letter. Spaces should not be used in field names, an underscore _ can be used as a separator and will be replaced by a space when the field name is displayed.

Example: To set the input for the fields named Item_7 and Item_8 as divide fields set this variable as Item_7,Item_8. In the processing script this appears as $defdivide = "Item_7,Item_8";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="defdivide" value="Item_7,Item_8" />
Variables set in the form overwrite variables set in the processing script.

Execution Order of Form Fields

Execution Order of Form Fields.
This is the field order of execution for the Mathematical Functions. Field names should be input separated by a comma (ie Item_1,Item_5,Item_3,Item_7 which based on the above example is Item_1 * Item_5 - Item_3 / Item_7 ). If the input for Item_1=10, Item_5=20, Item_3=10 and Item_7=2 the calculation would be 20 * 10 - 10 / 2. The result is 95 and this will be displayed with the Result Name. The calculation order is not influenced by the operator (ie plus, minus, multiply, divide) and is strictly as defined by this variable. Only Defined Plus, Minus, Multiply or Divide field names can be used.

Example: To set the Execution Order to Item_1 then Item_5 then Item_3 then Item_7 set this variable as Item_1,Item_5,Item_3,Item_7. In the processing script this appears as $execorder = "Item_1,Item_5,Item_3,Item_7";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="execorder" value="Item_1,Item_5,Item_3,Item_7" />
Variables set in the form overwrite variables set in the processing script.

Result Name

Result Name.
This is the name displayed for the result of executing a mathematical function on form input values. If Deliver First Letter Upper Case Fields Only is selected it must start with an upper case letter to be displayed or sent. The result is calculated when the form is submitted and if Display as HTML before Submission is set the result will be displayed to the user when the form submit button is clicked and before the form is sent. If this is left empty there will be no result calculated.

Example: Variable set as Order Total. In the processing script this appears as $resultname = "Order Total";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="resultname" value="Order Total" />
Variables set in the form overwrite variables set in the processing script.

Data Files

- Advanced variables to send form data as a data file attachment.

CSV (Comma Separated Value) File Name

CSV (Comma Separated Value) File Name.
This is the CSV Data File name (ie data.csv) and when set form data will also be delivered as a CSV Data File attachment to the form delivery email. Additional detail on CSV is available at Creativyst. If this is left empty no CSV Data File attachment will be sent.

Example: Variable set as data.csv. In the processing script this appears as $csvfile = "data.csv";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="csvfile" value="data.csv" />
Variables set in the form overwrite variables set in the processing script.

The CSV file sent is structured with form data value for each field included as:
"Value",

The processed time is:
"Time",

When Include User Variables is set the CSV file also has user variables included:
"User Browser",
"User IP Address",
"Form1 PHP Server",
"Form1 PHP Server Name",
"Form1 PHP Script",
"Form1 URL Domain",
"Form1 URL",

When Include User Cookies is set the CSV file also has each set Cookie value included:
"Value",

XML (Extensible Markup Language) File Name

XML (Extensible Markup Language) File Name.
This is the XML Data File name (ie data.xml) and when set form data will also be delivered as a XML Data File attachment to the form delivery email. Additional detail on XML is available from the W3Schools. If this is left empty no XML Data File attachment will be sent.

Example: Variable set as data.xml. In the processing script this appears as $xmlfile = "data.xml";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="xmlfile" value="data.xml" />
Variables set in the form overwrite variables set in the processing script.

The XML file sent is structured as:
<?xml version="1.0" ?>
<Form1_XML>

Form data for each field is included as:
<FormFieldName>Value</FormFieldName>

The processed time is:
<Processed>Time</Processed>

When Include User Variables is set the XML file also has a Variables tag with user variables included:
<Variables>
<HTTP_USER_AGENT>User Browser</HTTP_USER_AGENT>
<REMOTE_ADDR>User IP Address</REMOTE_ADDR>
<SERVER_ADDR>Form1 PHP Server IP</SERVER_ADDR>
<SERVER_NAME>Form1 PHP Server Name</SERVER_NAME>
<PHP_SELF>Form1 PHP Script</PHP_SELF>
<Domain>Form1 URL Domain</Domain>
<HTTP_REFERER>Form1 URL</HTTP_REFERER>
</Variables>

When Include User Cookies is set the XML file also has a Cookies tag with with each set Cookie included:
<Cookies>
<Cookie1Name>Value</Cookie1Name>
<Cookie2Name>Value</Cookie2Name>
</Cookies>

The XML file is closed with:
</Form1_XML>

Server Settings

- Advanced variables to adjust server settings.

These settings are not normally required however if your form data email is not being delivered (particularly if you are using a windows based server) then it may be necessary.

SMTP Mailserver Setting

SMTP Mailserver Setting.
This will adjust the smtp mailserver setting to the value provided, this should be your domain smtp (ie mail.mydomain.com or smtp.mydomain.com or possibly just mydomain.com). When this is set the server send_mail from is set as the delivery email. For some servers the send_mail from must be a valid email address on the domain mailserver. This means that if you are running your form on mydomain.com you must use a delivery email address that is valid on mydomain.com (ie myemail@mydomain.com). Setting this value will also cause the email from address to be set as the first delivery email address. In most cases this is not required but it is a requirement to send emails on some servers (usually windows based servers). If this is left empty no server changes are made.

Example: Variable set as mail.mydomain.com. In the processing script this appears as $smtpserver = "mail.mydomain.com";.

Alternatively: This variable can be set using a hidden field in your form as
<input type="hidden" name="smtpserver" value="mail.mydomain.com" />
Variables set in the form overwrite variables set in the processing script.

Quick Form

Click Build Form to generate base Quick Form code. This includes basic fields to demonstrate Form1 features and functionality. The generated code is displayed in the Form Code section.

Quick Forms include default meta tags at the top of the generated html code. You can modify or remove these meta tags directly in the Form Code text area if desired. The displayed page title; which is the contents of the title tags (between <title> and </title>); can also be adjusted as required.

Designer Form

Allows you design a form to your specifications by Adding Pre-defined and Additional fields to the Form Fields Table. The Form Fields Table displays the fields that will be included in your form when you Build Form.

Add Pre-defined Fields

You can add a Pre-defined field to the Form Fields Table by clicking the desired field description. Refer to Form Pre-Defined Fields for details on how predefined fields are handled.

Additional Fields

Input the required number of fields to Add or Remove from the bottom of the Form Fields Table and click Add or Remove.

Form Fields Table

You can adjust the variables of added fields as required. Pre-defined Field shaded variables should not be changed.

Once a field is added to the Form Fields Table you can adjust the variables. Pre-defined Field shaded variables should not be changed. The fields will be displayed on the form in the order they appear in the Form Fields Table. If Deliver First Letter Upper Case Fields Only is selected (which it is by default) the field names must start with an upper case letter to be delivered.

Once you have the form fields set up click Build Form to generate form code.

The generated code is displayed in the Form Code section.

Designer Forms include default meta tags at the top of the generated html code. You can modify or remove these meta tags directly in the Form Code text area if desired. The displayed page title; which is the contents of the title tags (between <title> and </title>); can also be adjusted as required.

Existing Form
Local Files

The performance of this function is dependent upon browser functionality and it may not run correctly on all browsers. If you have difficulty consider using the Copy and Paste Code method.

To use an existing form file as the base for your new form click Browse, select the html file from your local system. The file used must include a valid html form with a submit button. Form1 Builder must be running on the local system (ie saved on your computer) not via the internet to use this function. If you wish to use an internet file you can save it to your computer and then select it as a local file.

Once a local file has been selected click Build Form.

You can also click View Source Code to display the source code of a local file. Alternatively you can simply open the file directly in a browser window. You can then paste the source code directly into the Form Page Layout Code Only text area and Re-Build Using Form Page Layout Code to generate new Form Code. View Source Code is influenced by the way your browser handles different web page code and may not function in all cases.

When adding processing code to the top of an Existing form there must be no code (including form1 processing code) above the html start tag. If a file includes code above the html start tag open the file in a text editor and delete it before using the Existing Form function. When Deliver First Letter Upper Case Fields Only is selected the field names must start with an upper case letter to be delivered.

Internet URL

Input the URL Address of an existing web page ie http://www.mydomain.com/form.html. Then click View Source Code to display the source code of the Web Page. Alternatively you can simply open the file directly in a browser window. You can then save the displayed code to your local system and use it as a local file or you can paste the source code directly into the Form Page Layout Code Only text area and Re-Build Using Form Page Layout Code to generate new Form Code. View Source Code is influenced by the way your browser handles different web page code and may not function in all cases.

Copy and Paste Code

You can also easily add Form1 Processing Code to any valid web page form using a simple copy and paste. This allows you to copy the processing code from an existing Form1 file or from the Processing Code Only text area once you have run Build Form and paste it to the top of any valid form.

The copied processing must include all code from the top down to and including the line:

/* #### Below here is standard html. You can adjust the html as required. You can also copy the code from here up (including the ?> following this comment) and paste it at the top (above the html tag and any document type tags) of any html form page. All forms must be valid html and follow the guidelines provided in the help file. */?>

Open the existing file in a text editor and paste the copied processing code at the top (above the html tag and any document type tags). The existing form must be valid html and include:

You can modify the file including the Form Delivery Email Address and Optional Variables directly in the text editor. Save the new code as a file with the php extension and upload the saved file to your server.

A couple of points to remember when modifying forms:

Using the Copy and Paste Code method you can easily combine components from different web pages or forms with Form1 processing code or add Form1 Builder Designer Form components to existing web pages or forms. For example you can copy the form component only (from the form start tag to the form end tag) and paste it directly into the body of an existing web page file.

When using an Existing file there should be no code above the first html tag and all html code must be valid. You can use the free W3C MarkUp Validation Service or the WDG HTML Validator to check form validation.

Form Action Method

As an alternative to adding Form1 Processing Code to a form you can simply point the form action of an existing form to the uploaded processing code. To do this simply provide a Form Delivery Email Address, adjust any desired Optional Variables, then from Designer Form click Build Form, upload the Form Processing Code Only to your server and set the form action of your existing forms to point to the uploaded processing code file. This method does not produce a single file form but allows the form1 processing script to process forms that point to it. You can have multiple forms pointing to the one script.

Example: You upload the Form Processing Code Only to your server at mydomain.com and name the file form1process.php. The form processing code url is now http://mydomain.com/form1process.php or if you use a www directory http://www.mydomain.com/form1process.php. Then open your existing form file in a text editor or use the Local Files feature to edit the file directly in the Form Page Layout Code Only text area. Modify the form action to point to the form processing code url:

<form action="http://mydomain.com/form1process.php" method="post">

The existing form must be valid html and include a submit button. When Deliver First Letter Upper Case Fields Only is selected the field names must start with an upper case letter to be delivered. You can point multiple forms to the same processing script and set Optional Variables to whatever you like either directly in the processing code or using hidden form fields to set different options for different forms.

Upload your modified form and when you submit the form it will be processed by the processing code at http://mydomain.com/form1process.php.

Form Code
Form Code Complete

This is the complete layout and processing code for your form. Simply copy the code in this text area to a text editor, then save it as a file with the php extension ie form1.php and upload the saved file to your server. Alternatively you can use the Upload function. View Form layout displays the form in a new window.

Select All - Highlights all the text code in the Form Code Complete text area for copying it.

View Form Layout - Displays the built form in a new window. This is only the form layout and does not include the processing code. Your browser must allow new windows to be opened.

Clear Form Code Complete - Clears the contents of the Form Code Complete text area.

Form Processing Code Only

This is only required for multi page forms or advanced form modification.

This is the form processing code only. You can Copy and Paste Code to the top of existing forms or set the form action of existing forms to point to it once uploaded to your server. To upload simply copy the code in this text area to a text editor, then save it as a file with the php extension ie form1process.php and upload the saved file to your server. Alternatively you can use the Upload function.

Select All - Highlights all the text code in the Form Processing Code Only text area for copying it.

Clear Form Processing Code Only - Clears the contents of the Form Processing Code Only text area.

Form Page Layout Code Only

This is only required for multi page forms or advanced form modification.

This is the form page code only. You can paste existing form code into this text area, or modify code and Re-Build Using Form Page Layout Code. If you want to use a separate form processing script set the form action to point to the script, copy the code in this text area to a text editor, then save it as a html file ie form.html and upload the saved file to your server. Alternatively you can use the Upload function.

It is also possible to copy the form component only (from the form start tag to the form end tag) and paste it directly into the body of an existing web page file.

Select All - Highlights all the text code in the Form Page Layout Code Only text area for copying it.

View Form Layout - Displays the built form in a new window. This is only the form layout and does not include the processing code. Your browser must allow new windows to be opened.

Clear Form Page Layout Code Only - Clears the contents of the Form Page Layout Code Only text area.

Re-Build Using Form Page Layout Code - Uses the current Form Page Layout Code Only text area contents as the base form and runs Build Form to add processing script. Any modifications made to Form Page Layout Code Only contents will then be reflected in all Form Code text areas.

Upload

The Upload function is only available when Form1 Builder is running on your server, the server supports php, and ftp functions are enabled in the php server configuration. Any files uploaded will be placed in the same directory as the Form1 Builder and will overwrite any existing file of the same name. To use this function you must upload and run all Form1 Builder files on your server. Some servers require files to have the extension .php before they will execute php code, if this is the case for your server you will need to rename your uploaded Form1Builder.html file to Form1Builder.php.

If Form1 Builder is running on your server, and the server supports php you can View Server php Configuration. The displayed php configuration is generated by the phpinfo function. To use the Upload function the php configuration ftp section must be displayed and FTP support must be enabled.

If your server does not support the Upload function simply follow the instructions in the Form Code section to place your form file on your server.

Server Name.
This is the domain of your web site (i.e mydomain.com). It should be the domain only, no http or www.

User Name

User Name.
This is the user name to ftp access your web site.

User Password

User Password.
This is the password to ftp access your web site.

Save As File Name

Save As File Name.
The name of the file to be saved.

Upload Form Code Complete - Will upload the contents of the Form Code Complete text area.

Upload Form Processing Code Only - Will upload the contents of the Form Processing Code Only text area.

Upload Form Page Layout Code Only - Will upload the contents of the Form Page Layout Code Only text area.

Help

Open the Help file (this file) in a new window.

Registration

Displays registration status and links for registration. Register software using the secure online payment link. Registration details are sent by return email and will enable all functions. Once registered the current registration and an Upgrade to Additional Licenses link are displayed. Only registered software and code built using registered software will continue functioning.

www.softswot.com

Go to software developer web site, www.softswot.com.

Fixed Process Code Variables

These variables can only be set by direct edit in the processing script once it has been generated.

Email BCC

This adds a BCC (blind carbon copy) email to the form delivery. It can be used to send a copy of the form submission to additional email addresses. If this is left empty no Email BCC will be sent.

Example: Variable required is otheremail@mydomain.com. You set this in the processing script as $emailbcc = "otheremail@mydomain.com";.

To send to multiple BCC addresses separate each email address with a comma. Example: Variable required is otheremail@mydomain.com,anotheremail@mydomain.com. You set this in the processing script as $emailbcc = "otheremail@mydomain.com,anotheremail@mydomain.com";.

This variable cannot be set using form fields or from Form1 Builder. If required it must be directly added in the processing script.

Email Content Type

This sets the Email Content Type used for plain text emails. In most cases this should not be changed. If however plain text emails are not being displayed correctly it can be adjust to a Content Type that matches your email reader.

Default: Variable set as Content-Type: text/plain; charset=ISO-8859-1. This is the default value applied and in most cases should not be changed. In the processing script this appears as $emcont = "Content-Type: text/plain; charset=ISO-8859-1";.

Alternative Email Content Type settings include:

Example: Variable set as Content-Type: text/plain; charset=UTF-8. This can be used to display a wide range of character sets, but may not be supported by older email readers. In the processing script this appears as $emcont = "Content-Type: text/plain; charset=UTF-8";.

Example: Variable set as Content-Type: text/plain. When this is used definition of the character set is determined by the email reader. In the processing script this appears as $emcont = "Content-Type: text/plain";.

This variable cannot be set using form fields or from Form1 Builder. If required it must be directly added in the processing script.

This sets the Return to Form display as a hyper link instead of the standard form button. By default this variable is left empty and in most cases this should not be changed. If however your server returns "...Method Not Allowed, The requested method POST is not allowed for the URL" when a Return to Form button is clicked you can set this variable as true.

Example: Variable set as true. In the processing script this appears as $rtflink= "true";.

This variable cannot be set using form fields or from Form1 Builder. If required it must be directly added in the processing script.

Exclude Value

This a character combination that will be identified in any form submission field and if present in more than the Exclude Maximum number of fields will cause form processing to terminate. This allows certain form submissions to be canceled. It can be used to prevent the delivery of Form Hijacking test probe submissions. While Form1 prevents Form Hijacking it may still deliver Hijacking test probes. Because these Hijacking test probes often include a random email address for the form domain you can set the Exclude Value to the domain and when this is detected in more than the Exclude Maximum number of form fields form processing will be canceled. By default this variable is left empty. If used Exclude Maximum must also be set.

Example: Variable set to detect mydomain.com in form field submissions. In the processing script this appears as $excludeval= "mydomain.com";.

This variable cannot be set using form fields or from Form1 Builder. If required it must be directly added in the processing script.

Exclude Maximum

This the maximum number of form fields the Exclude Value character combination can be in before form processing will terminate. By default this variable is left empty. If used Exclude Value must also be set.

Example: Variable set to allow the Exclude Value to be in a maximum of 5 form fields. In the processing script this appears as $excludemax="5";.

This variable cannot be set using form fields or from Form1 Builder. If required it must be directly added in the processing script.

Multi Page Forms

By building a series of forms and pointing the form action to the following form Multi Page forms can be developed. Simply set the form action of the first form to point to the second form and name the submit button multipage on all pages except the last. Each page will run the processing code on the following page. The form inputs are passed along to each form progressively with the last form action either set to point to itself as a standard form1 form or to a separate processing code if unique processing variables are required. Multi Page forms should not be used with file attachments and each form should include processing code.

To use this feature Session Support must be enabled in the server php configuration. If Form1 Builder is running on your server, and the server supports php from the Upload section you can View Server php Configuration. To use the Multi Page Forms the php configuration session section must be displayed and Session Support must be enabled.

To ensure that session variables can be accessed even when user cookies are disabled it is recommended that you add <?php echo $addsession;?> at the end of the form action file name. This will automatically add the session id as a GET variable to the form action.

Example:

To set the form action of the first page to call the second page file multiform2.php with the session id included the form action is

<form action="multiform2.php<?php echo $addsession;?>" method="post">

If sessions cannot be passed using cookies this will result in something like

form action="multiform2.php?PHPSESSID=26e82f1111f9be0ff57a9f59f6b00348"

This ensures the session data can be identified. Sessions are cleared when the form is delivered.

When using multi page forms keep in mind that a form is processed by the processing code it's form action points to. So the processing variables for a specific form should be set in the processing code that will process it, this may not be itself. If you want to set unique processing variables for the last form in a multi page form set up point its form action to a separate processing code file.

Multi page forms are normally used to break a large amount of input into smaller forms. As standard the data submitted from previous forms is not displayed to the user on the following form but it is automatically hidden within the form code. However if you wish to have any data from previous forms displayed in a following form you can the use the structure outlined in Maintaining Form Content to display the data.

You can see an example multipage form at Try Form1 Multi Page .

Maintaining Form Content

Due to varying behavior between browsers the operation of the browser back button does not always maintain previously entered form input. This can result in lost input when a user submits but the submission is not sent due to missing input (Required Fields etc). When using a single file form with JavaScript Return not selected this can be overcome by including code to maintain field values.
To do this for input type="text" fields in the input tag set the value attribute to:

<?php $name='FIELDNAME';if(isset($_SESSION['Form1'][$name])){echo $_SESSION['Form1'][$name];}?>

where FIELDNAME is the name of the form field.

Example:

<input type="text" size="34" name="First_Name" value="<?php $name='First_Name';if(isset($_SESSION['Form1'][$name])){echo $_SESSION['Form1'][$name];} ?>"/>

When run on a server supporting php none of the code in the value attribute is displayed only the maintained form input.

The following outlines how to maintain input for different form fields.

For an Input, replace FIELDNAME as required:
<input type="text" size="34" name="FIELDNAME" value="<?php $name='FIELDNAME';if(isset($_SESSION['Form1'][$name])){echo $_SESSION['Form1'][$name];} ?>" />
You can adjust and copy the code directly from this text box.

For a Text Area, replace FIELDNAME as required:
<textarea name="FIELDNAME"><?php $name='FIELDNAME';if(isset($_SESSION['Form1'][$name])){echo $_SESSION['Form1'][$name];} ?> </textarea>
You can adjust and copy the code directly from this text box.

For a Checkbox, replace FIELDNAME as required:
<input type="checkbox" name="FIELDNAME" <?php $name='FIELDNAME';if(isset($_SESSION['Form1'][$name])){echo 'checked="checked"';} ?> />
You can adjust and copy the code directly from this text box.

For a Radio Button, replace FIELDNAME and VALUENAME as required:
<input type="radio" name="FIELDNAME" value="VALUENAME" <?php $name='FIELDNAME';$value='VALUENAME';if(isset($_SESSION['Form1'][$name])&&$_SESSION['Form1'][$name]==$value){echo 'checked="checked"';} ?> />
You can adjust and copy the code directly from this text box.

For a Single Select, replace FIELDNAME and VALUENAME as required:
<select name="FIELDNAME">
<option <?php $name='FIELDNAME';$value='VALUENAME';if(isset($_SESSION['Form1'][$name])&&$_SESSION['Form1'][$name]==$value){echo 'selected="selected"';} ?> >VALUENAME</option>
</select>
You can adjust and copy the code directly from this text box. The php code must be included in all option fields.

For a Multi Select, replace FIELDNAME and VALUENAME as required:
<select name="FIELDNAME">
<option <?php $name='FIELDNAME';$value='VALUENAME';if(isset($_SESSION['Form1'][$name])&&$_SESSION['Form1'][$name]==$value){echo 'selected="selected"';}?> >VALUENAME</option>
</select>
You can adjust and copy the code directly from this text box. The php code must be included in all option fileds.

Form input is maintained until the form is sent or the user session expires.

To use this feature your form and processing code must be in a single file (this is the standard Form1 format) and Session Support must be enabled in the server php configuration. If Form1 Builder is running on your server, and the server supports php from the Upload section you can View Server php Configuration. To use the Maintain Form Content feature the php configuration session section must be displayed and Session Support must be enabled.

Form Processing

The form information processed for email delivery is determined by the Deliver Empty Form Fields and Deliver First Letter Upper Case Fields Only settings. By default all form fields within the form will be delivered. If Deliver Empty Form Fields is selected form fields that do not have a user input will be included in the form delivery email. If Deliver First Letter Upper Case Fields Only is selected only field names that start with an upper case letter will be processed for email delivery and included in the form data email. Field names that are set as Defined Required Form Fields are identified as Required. If a Required field has no input on form submission a user prompt is provided.

All configuration variables in the form processing code and the following processing variables form_url, form1next, htmldisnext,accesspassin,accesscode, htmldissend,PHPSESSID are excluded from form data delivery.

Submit Button - All forms must include a submit button.

Form Tag - The form tag must include

<form action="<?php if(!isset($_SERVER)){$_SERVER=$HTTP_SERVER_VARS;}echo $_SERVER['PHP_SELF'];?>" method="post">

Or instead of using php code in the form action replace it with the form file name i.e <form action="QuickForm.php" method="post">.

Form processing code is include at the top of the form web page. Using a text editor or a Form Code text area you can adjust the processing variables. Only the contents between the " " 's in the User Configuration Settings should be changed in the top php code section. Any other changes could corrupt Form1 functionality. A description and example is provided for processing variables in the help sections Form Delivery Email Address and Optional Variables.

Trouble Shooting

This section covers both the Software that generates the code and the Code that runs on your server. For items not addressed here and elsewhere in the Help file please visit softSWOT.com where you can access our Question and Answer Items. In our Question and Answer Items we post responses to a range of topics related to this software. It provides a growing knowledge base and allows you to benefit from the experience of others, if you have read all of the Help file and still have a question this is a good place to start. The fastest way to solve a problem is usually by completely reading and following the Help file, and reviewing our Question and Answer Items. If after this your question remains please Contact Us.

Software

If the software displays a Browser Error notice:

Once you have current browser software with JavaScript enabled you will be able to access all software functions.

Code

If the php code displays in your browser when it is run on your server:

Make sure all your variable values are correct. This includes the case of letters, A is not the same as a.

Take Care when modifying and uploading your Form1 file to ensure the php coding is not corrupted. If your uploaded Form1 does not deliver your form when you submit with a valid email address check the form action. When you view Form1 in your editor the form tag is:

<form action="<?php if(!isset($_SERVER)){$_SERVER=$HTTP_SERVER_VARS;}echo $_SERVER['PHP_SELF'];?>" method="post">

The action is php code telling the form to load itself. When Form1 is run on the server and you view source the action becomes the Form1 file name. If the form action is missing the php code may have been corrupted when you edited or uploaded the file. To overcome this you can manually set the form action to the file name i.e.:

<form action="QuickForm.php" method="post">

Remember if Deliver First Letter Upper Case Fields Only is set only form fields with names that start with an upper case letter will be sent so make sure your field names start with an upper case letter.

Another issue may be your server settings refer to the section SMTP Mailserver Setting for details.

When using the Existing Form function make sure that the existing file used has no code (including form1 processing code) above the html start tag. If a file includes code above the html start tag open the file in a text editor, delete the code above the html start tag and save before you use the Existing Form function. If you are using a Local File make sure you running the software on your computer not via the internet. Form1 Builder must be running on the local system (ie saved on your computer) not via the internet to use the Local File function. If it is not running on your local system it is unable to access local files and simply reloads itself because it can not access the required file. The performance of this function is dependent upon browser functionality and it may not run correctly on all browsers. If you have difficulty consider using the Copy and Paste Code method.

If you are using an Existing Web Page or modify the code check its validity. There are a lot of web pages that have dubious underlying code. In many cases browsers attempt to fix or ignore coding errors they find. However, to maximize the likelihood of a visitor being able to see your web page the way you intended it's validity should be checked. This is particularly relevant for form pages because they interact with the form processing script. Irregularities in the form html code may prevent correct form processing.

Try the free W3C MarkUp Validation Service or the WDG HTML Validator to check form validation. While many (most?) web pages will fail high level validation, validating your web page will highlight common items like missing or extra tags that definitely require attention. It also increases the chances your site will continue to function in new release browsers, will enhance internet content and support the development of consistent web standards thereby improving the effectiveness and efficiency of the internet.

URL's used for messages should not include query strings ie they should have no ? after the file name. When Reason Return is selected form processing adds a query string to the message url to identify it's source.

If your Return to Form is not working correctly and appears to be using an incorrect url you may need to provide a Set Form1 URL.

If your server returns "...Method Not Allowed, The requested method POST is not allowed for the URL" when a Return to Form button is clicked you may need to set Return to Form Link as true.

To terminiate form processing on detection of a defined character combination in any form submission field set the Exclude Value. This can be used to prevent the delivery of Form Hijacking test probe submissions.

Requirements for Use

The software runs directly in your browser. Your browser must support JavaScript and the Document Object Model. Current browsers all support these features. If your browser does not support these features a Browser Error notification will be provided when you open the software.

The generated code runs on your web server. To run this code your server must support the php scripting language. Most commercial web servers support php. For information on php and how to check if it is available on your server go to What is php?

If your sever does not support php our ezyForm Hosting service maybe of interest. ezyForm Hosting can process your forms for you providing a quick, economical and easy web form solution. By pointing your form action to an ezyForm processing account you can have the form data delivered to your email address, it's as simple as that. You can open a New Account and give it a test run free for 7 days. ezyForm Hosting accounts are based on the Form1 processing engine and support most Form1 features and functionality. So if you are looking for a quick and easy way to process your web forms without having to worry about your server try ezyForm Hosting.

Installation

The latest version software is always available for download from softSWOT.com. If software is downloaded as a Self-Extracting SetUp file (.exe) when you run the .exe file it will extract and install the software files. If software is downloaded as a Compressed Zip file (.zip) it must be unzipped before you can save the software files. Trial Zip software is available free from Winzip or a simple freeware zip utility is available from JustZIPit. All software files should be installed in the same directory, this should be a new directory in which only the software files are placed. Once the software files are saved open the software title file (with a .html extension). This will open in your browser; JavaScript must be enabled; and follow the Instructions for Use.

This software does not access or alter your system or system files in any way. To uninstall you can simply delete the directory and included software files created and saved when you installed the software. Alternatively if a Self-Extracting SetUp file was used for installation you will be able to remove the software using Uninstall from the shortcut menu.

Conditions of Use

The specific suitability of this software must be independently assessed. Software is provided as is, use is entirely at the users risk, and use acknowledges that softSWOT and all associated parties are held harmless from any claims or losses relating to software provided.

Software Support and Contact Details

For items not addressed here please visit softSWOT.com where you can access our Question and Answer Items. In our Question and Answer Items we post responses to a range of topics related to this software. It provides a growing knowledge base and allows you to benefit from the experience of others, if you have read all of the Help file and still have a question this is a good place to start. If after completely reading and following the Help file, and reviewing our Question and Answer Items your question is unanswered please Contact Us.

Web Site: www.softswot.com

Full contact details are provided at Contact Us.

softSWOT is a member of the Bizpep Group
ABN: 24 312 166 103

Regards
David Morcom
www.softswot.com