I wish I had found this somewhere so now that I have made it, I decided to post it here for everybody.
This is a code for a FORM.
I just made it and it works, plus it features all sorts of Forms elements and functions, and it is all contained in one same html/PHP page.
Features:
-The form validates all required fields (which include input box, text field, drop-down menus, check boxes and radio buttons).
-The form is 100% Sticky (it remembers what values were entered before validation).
-The forms results are emailed to you.
-After successfull validation, the user is sent a Thank You message to his email.
-After successfull validation, the user is sent to a Thank You page that remembers his name.
-At the end of the form there's even links to "privacy Policy" that open a popup window.
Here's the code, I hope someone like me will find it usefull!
Code: Select all
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Client Request form</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body,td,th {
font-family: Helvetica Neue, Helvetica;
font-size: 12px;
color: #333333;
}
body {
background-color: #FFFFFF;
}
.error {
font-weight: bold;
color: #FF0000;
}
a:link {
color: #660033;
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #99CC00;
}
-->
</style></head>
<body>
<?php
ob_start(); // this regulates buffer size in such way that all page data gets to the browser at once
ini_set ('display_errors',1); // error handling (display errors)
error_reporting (E_ALL & ~E_NOTICE);
print '<table width="550" border="0" align="center" cellpadding="10" cellspacing="1" bgcolor="#990066">
<tr><td bgcolor="#FFFFFF" align="left" valign="top"><p>CLIENT REQUEST FORM</p>
<span class="error">*</span> indicates required fields<br />';
// *** BEGIN CONDITIONAL: IF SUBMIT BUTTON PRESSED, AND VALIDATION:
if (isset ($_POSTї'submit'])) { //if submit button has been pressed,...
$problem = FALSE; //...and each field validates...
if (empty ($_POSTї'firstName'])) { //if first name field is empty...
$problem = TRUE; //...it is a problem
print '<p class="error">Please enter your First Name</p>'; //so, write warning
}
if (empty ($_POSTї'lastName'])) {
$problem = TRUE;
print '<p class="error">Please enter your Last Name</p>';
}
if (empty ($_POSTї'address'])) {
$problem = TRUE;
print '<p class="error">Please enter your Address</p>';
}
if (empty ($_POSTї'city'])) {
$problem = TRUE;
print '<p class="error">Please enter your City</p>';
}
if (empty ($_POSTї'state']) OR ($_POSTї'state']) == "Select...") {
$problem = TRUE;
print '<p class="error">Please select a State</p>';
}
if (empty ($_POSTї'zip'])) {
$problem = TRUE;
print '<p class="error">Please enter your Zip Code</p>';
}
if (empty ($_POSTї'areaCode']) OR strlen ($_POSTї'areaCode']) != 3 OR !is_numeric ($_POSTї'areaCode']) OR empty ($_POSTї'phoneNumMid']) OR strlen ($_POSTї'phoneNumMid']) != 3 OR !is_numeric ($_POSTї'phoneNumMid']) OR empty ($_POSTї'phoneNumEnd']) OR strlen ($_POSTї'phoneNumEnd']) != 4 OR !is_numeric ($_POSTї'phoneNumEnd']) ) {
$problem = TRUE;
print '<p class="error">Please enter a full/valid Phone Number</p>';
}
if (!isset ($_POSTї'Staffing']) AND !isset ($_POSTї'Outsourcing'])) {
$problem = TRUE;
print '<p class="error">Please select at least one service you would be interested in</p>';
}
if (!isset ($_POSTї'agree'])) {
$problem = TRUE;
print '<p class="error">You didn''t agree with our Privacy Policy and Terms of Use</p>';
}
if (!$problem) { //if !NO validation problem found after submit, the form passes, emails are sent, and user is sent to thank you page:
//*** email sent to you
$sendto = "yourmail@email.com, anothermail@email.net";
$headers = "From: You<yourmail@email.com>\r\n";
$headers .= "Reply-To: You <yourmail@email.com>\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
// setup variables
$subject = "$firstName $lastName Sent a Request to YourWebSite!";
// append to the message that the user typed in
$message .= "<br /><br />
On " . date("F j, Y, g:i a") . " $firstName $lastName ( $email ) Sent a Request from YourWebSite. Details follow: <br /><br />
Company: $company <br />
First Name: $firstName <br />
Last Name: $lastName <br />
Address: $address <br />
City: $city <br />
State: $state <br />
Zip Code: $zip <br />
Phone Number: $areaCode $phoneNumMid $phoneNumEnd <br />
Phone 2: $areaCode2 $phoneNumMid2 $phoneNumEnd2 <br />
Fax: $areaCodeFax $phoneNumMidFax $phoneNumEndFax <br />
Email: $email <br />
Looking for: <br />
Staffing: $Staffing <br />
Outsourcing: $Outsourcing <br />
service which best describes your needs: $service <br />
Where did you Hear from Us: $whereDidUHear <br />
Would you like a representative to call you: $call <br />";
mail($sendto, $subject, $message, $headers);
// *** thank you message.
$sendto = $email;
$subject = "Thank you $firstName $lastName for your interest in YourWebSite";
$message = "$firstName $lastName, We received your request and are reviewing it.
A representative will contact you shortly.
Thank you from all of us at Your Web Site!";
mail($sendto, $subject, $message, $headers);
// start session, for passing user name to thank you page:
session_start();
$_SESSIONї'firstname'] = $_POSTї'firstName'];
$_SESSIONї'lastname'] = $_POSTї'lastName'];
// *** go to next page:
header ('location: afterrequest.php');//all you need to do in the next page is start session like above session_start(); and call the variables 'firstname' 'lastname' to have you user name displayed
exit();
} else { //if there is a validation problem, then write warning and...
print '<p><span class="error"> - Please try again - </span></p>';
} //...display the form again:
} // *** end of first conditionnal: if submit button has not been pressed, display the form:
// *** HERE IS THE FORM PER SE:
print '<form action="requestForm.php" method="post"><p><strong>Contact Information:</strong></p>
<table width="80%" cellpadding="2" cellspacing="1" bgcolor="#CCFFCC" align="center">
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
Company:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="company" size="20" value="' . $_POSTї'Company'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>First Name:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="firstName" size="20" value="' . $_POSTї'firstName'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>Last Name:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="lastName" size="20" value="' . $_POSTї'lastName'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>Address:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="address" size="20" value="' . $_POSTї'address'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>City:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="city" size="20" value="' . $_POSTї'city'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>State:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<select name="state" size="1">';
if (isset ($_POSTї'state'])) {
echo '<option selected="selected" value="' . $_POSTї'state'] . '">'; print $_POSTї'state']; print '</option>';
}else{
print '<option selected="selected" value="Select...">Select...</option>';
}
print '<option value="New York">New York</option>
<option value="Select..."> ----------- </option>
<option value="Alabama">Alabama</option>
<option value="Alaska">Alaska</option>
<option value="Arizona">Arizona</option>
<option value="Arkansas">Arkansas</option>
<option value="California">California</option>
<option value="Colorado">Colorado</option>
<option value="Connecticut">Connecticut</option>
<option value="Delaware">Delaware</option>
<option value="Florida">Florida</option>
<option value="Georgia">Georgia</option>
<option value="Hawaii">Hawaii</option>
<option value="Idaho">Idaho</option>
<option value="Illinois">Illinois</option>
<option value="Indiana">Indiana</option>
<option value="Iowa">Iowa</option>
<option value="Kansas">Kansas</option>
<option value="Kentucky">Kentucky</option>
<option value="Louisiana">Louisiana</option>
<option value="Maine">Maine</option>
<option value="Maryland">Maryland</option>
<option value="Massachusetts">Massachusetts</option>
<option value="Michigan">Michigan</option>
<option value="Minnesota">Minnesota</option>
<option value="Mississippi">Mississippi</option>
<option value="Missouri">Missouri</option>
<option value="Montana">Montana</option>
<option value="Nebraska">Nebraska</option>
<option value="Nevada">Nevada</option>
<option value="New Hampshire">New Hampshire</option>
<option value="New Jersey">New Jersey</option>
<option value="New Mexico">New Mexico</option>
<option value="New York">New York</option>
<option value="North Carolina">North Carolina</option>
<option value="North Dakota">North Dakota</option>
<option value="Ohio">Ohio</option>
<option value="Oklahoma">Oklahoma</option>
<option value="Oregon">Oregon</option>
<option value="Pennsylvania">Pennsylvania</option>
<option value="Rhode Island">Rhode Island</option>
<option value="South Carolina">South Carolina</option>
<option value="South Dakota">South Dakota</option>
<option value="Tennessee">Tennessee</option>
<option value="Texas">Texas</option>
<option value="Utah">Utah</option>
<option value="Vermont">Vermont</option>
<option value="Virginia">Virginia</option>
<option value="Washington">Washington</option>
<option value="West Virginia">West Virginia</option>
<option value="Wisconsin">Wisconsin</option>
<option value="Wyoming">Wyoming</option>
</select>
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>Zip / Postal Code:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="zip" size="20" value="' . $_POSTї'zip'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<span class="error">*</span>Phone:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input name="areaCode" type="text" id="areaCode" size="4" maxlength="3" value="' . $_POSTї'areaCode'] . '" />
<input name="phoneNumMid" type="text" id="phoneNumMid" size="4" maxlength="3" value="' . $_POSTї'phoneNumMid'] . '" />
<input name="phoneNumEnd" type="text" id="phoneNumEnd" size="5" maxlength="4" value="' . $_POSTї'phoneNumEnd'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
Alternative Phone:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input name="areaCode2" type="text" id="areaCode2" size="4" maxlength="3" value="' . $_POSTї'areaCode2'] . '" />
<input name="phoneNumMid2" type="text" id="phoneNumMid2" size="4" maxlength="3" value="' . $_POSTї'phoneNumMid2'] . '" />
<input name="phoneNumEnd2" type="text" id="phoneNumEnd2" size="5" maxlength="4" value="' . $_POSTї'phoneNumEnd2'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
Fax:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input name="areaCodeFax" type="text" id="areaCodeFax" size="4" maxlength="3" value="' . $_POSTї'areaCodeFAx'] . '" />
<input name="phoneNumMidFax" type="text" id="phoneNumMidFax" size="4" maxlength="3" value="' . $_POSTї'phoneNumMidFAx'] . '" />
<input name="phoneNumEndFax" type="text" id="phoneNumEndFax" size="5" maxlength="4" value="' . $_POSTї'phoneNumEndFAx'] . '" />
</td>
</tr>
<tr>
<td align="left" valign="middle" bgcolor="#FFFFFF">
Email:
</td>
<td align="left" valign="middle" bgcolor="#FFFFFF">
<input type="text" name="email" size="30" value="' . $_POSTї'email'] . '" />
</td>
</tr>
</table>
<p><span class="error">*</span><strong>What Services are you interested in?</strong></p>
<table width="200" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#CCFFCC">
<tr>
<td bgcolor="#FFFFFF">';
if (isset ($_POSTї'Staffing'])) {
echo '<input name="Staffing" type="checkbox" value="YES" checked="checked" />';
}else{
print '<input name="Staffing" type="checkbox" value="YES" />';
}
print 'Staffing </td>
</tr>
<tr>
<td bgcolor="#FFFFFF">';
if (isset ($_POSTї'Outsourcing'])) {
echo '<input name="Outsourcing" type="checkbox" value="YES" checked="checked" />';
}else{
print '<input name="Outsourcing" type="checkbox" value="YES" />';
}
print 'Outsourcing </td>
</tr>
</table>
<p><strong>Please choose a service which best describes your needs:</strong></p>
<select name="service" size="1">';
if (isset ($_POSTї'service'])) {
echo '<option selected="selected" value="' . $_POSTї'service'] . '">'; print $_POSTї'service']; print '</option>';
}else{
print '<option selected="selected" value="Select...">Select...</option>';
}
print'<option value="Executive Assistant">Executive Assistant</option>
<option value="Administrative Office Assistant">Administrative Office Assistant</option>
<option value="Receptionist">Receptionist</option>
<option value="Personal Assistant">Personal Assistant</option>
<option value="Administrative Assistant">Administrative Assistant</option>
<option value="Desktop Publisher">Desktop Publisher</option>
<option value="Word processor">Word processor</option>
<option value="File/Mailroom Clerk">File/Mailroom Clerk</option>
<option value="Data Entry Clerk">Data Entry Clerk</option>
<option value="Special Events Coordinator">Special Events Coordinator</option>
<option value="Call Center / Help Desk">Call Center / Help Desk</option>
<option value="Data Processing">Data Processing</option>
<option value="Billing (medical and otherwise)">Billing (medical and otherwise)</option>
<option value="Transcription (medical and otherwise)">Transcription (medical and otherwise)</option>
<option value="Insurance Claim Processing">Insurance Claim Processing</option>
<option value="Back Office Operations">Back Office Operations</option>
<option value="Mailing List Compilation">Mailing List Compilation</option>
<option value="Web-Mining / Data Capture">Web-Mining / Data Capture</option>
<option value="Personalized Mailing">Personalized Mailing</option>
<option value="Proof Reading">Proof Reading</option>
<option value="Other">Other</option>
</select>
<p><strong>Where did you hear about New York Green Room?</strong>
<select name="whereDidUHear" id="whereDidUHear">';
if (isset ($_POSTї'whereDidUHear'])) {
echo '<option selected="selected" value="' . $_POSTї'whereDidUHear'] . '">'; print $_POSTї'whereDidUHear']; print '</option>';
}else{
print '<option selected="selected" value="Select...">Select...</option>';
}
print'<option value="Word of Mouth">Word of Mouth</option>
<option value="Print Ad">Print Ad</option>
<option value="Internet">Internet</option>
<option value="Mailing">Mailing</option>
<option value="Other">Other</option>
</select>
</p>
<p><span class="error">*</span><strong>Would you like a representative to call you?</strong></p>
<table width="200" align="center" cellpadding="2" cellspacing="1" bgcolor="#CCFFCC">
<tr>
<td bgcolor="#FFFFFF">';
if ($_POSTї'call'] == "YES") {
$sel1 = 'checked="checked"';
}else{
$sel1 = "";
}
echo '<input type="radio" name="call" value="YES"' .$sel1. ' />';
print 'YES</td>
</tr>
<tr>
<td bgcolor="#FFFFFF">';
if ($_POSTї'call'] == "NO") {
$sel2 = 'checked="checked"';
}else{
$sel2 = "";
}
echo '<input type="radio" name="call" value="NO"' .$sel2. ' />';
print 'NO</td>
</tr>';
print '</table>
<p>Submission of personal information signifies that you have read and
agreed to be bound by the New York Greenroom <a href="javascript:window.open(''terms.htm'','''',''HEIGHT=450,WIDTH=400,scrollbars=yes,toolbar=no,menubar=no'')">Terms
of Use</a> Agreement, and that you consent to New York Greenroom''s use of your resume and personal information
in accordance with the New York Greenroom Web Site <a href="javascript:window.open(''privacy.htm'','''',''HEIGHT=450,WIDTH=400,scrollbars=yes,toolbar=no,menubar=no'')">Privacy
Policy</a>.</p>
<p>';
if (isset ($_POSTї'agree'])) {
echo '<input type="checkbox" name="agree" value="YES" checked="checked" />';
}else{
print '<input type="checkbox" name="agree" value="agree" />';
}
print '<span class="error">*</span>Yes I agree with the <a href="javascript:window.open(''terms.htm'','''',''HEIGHT=450,WIDTH=400,scrollbars=yes,toolbar=no,menubar=no'')">Terms
of Use</a> & <a href="javascript:window.open(''privacy.htm'','''',''HEIGHT=450,WIDTH=400,scrollbars=yes,toolbar=no,menubar=no'')">Privacy
Policy</a></p>
<p>
<input type="submit" name="submit" value="Send Your Request" />
</p>
</form>';
// *** END OF FORM PER SE
print '</td></tr>
</table>';
ob_end_flush(); //this ends buffer size regulation started on top of page
?>
</body>
</html>