Link to home
Start Free TrialLog in
Avatar of LockDownLance
LockDownLance

asked on

HTML Form sent to e-mail. What is the easiest, fastest, cleanest way to achieve this?

I have a simple HTML form that has both required fields and not required fields.  I need to make sure required fields are completed and when submitted the form sent to an e-mail address.  

I'm extremely novice when it comes to things lke this.  So I am looking for a simple solution.  The site is hosted on a windows server currently but will likely be moved to apache later on so any solution that will work on either server would be beneficial.  PHP can be made available on either server.

Can someone please assist?

Thanks in advance.
ASKER CERTIFIED SOLUTION
Avatar of Ray Paseur
Ray Paseur
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
There are a lot of parts to your question, both obvious and not so obvious.  This code snippet shows how to tell the client about required fields.  The not-so-obvious part is about security.  Form-to-email scripts are notorious for becoming open relays for spam.  Be sure to filter your input carefully.

You can install these scripts "as is" and run them to learn from the moving parts.  HTH!

Best of luck with your project. ~Ray
<?php // RAY_form example.php
error_reporting(E_ALL);
echo "<pre>\n"; // JUST FOR READABILITY


// QUESTION - HOW DO I FIND WHAT WAS POSTED AND CAPTURE IT FOR FURTHER PROCESSING
// QUESTION - HOW DO I TELL THE CLIENT TO ENTER THE OTHER FIELDS THAT WERE OMITTED


// THE FIELDS WE EXPECT FROM THE FORM WILL BE KEPT HERE
$required
= array
( "name"  => "Your Name"
, "email" => "Email Address"
, "phone" => "Telephone"
)
;

// ERROR MESSAGES, RECEIVED DATA, IF ANY, ARE HERE
$received      = array();
$error_fields  = array();
$error_message = '';

// IF THE FORM HAS BEEN SUBMITTED THE POST ARRAY IS NOT EMPTY
if (!empty($_POST))
{
    // WIPE OUT ANY POST VALUES THAT STILL CONTAIN THE DEFAULT FIELD VALUES
    foreach ($_POST as $key => $val)
    {
        if (trim($required[$key]) == trim($val)) unset($_POST[$key]);
    }

    // CHECK TO SEE IF EACH REQUIRED FIELD IS PRESENT
    foreach($required as $key => $val)
    {
        // IF THIS FIELD IS EMPTY - SET THE ERROR MESSAGE AND SAVE THE KEY (OTHER EDITS MAY APPLY)
        if (empty($_POST[$key]))
        {
            $error_message  .= "\nPLEASE ENTER $val";
            $error_fields[] = $key;
        }
        // IF THIS FIELD IS PRESENT AND VALID CAPTURE THE CONTENTS
        else
        {
            $received[$key] = $_POST[$key];
        }
    }

    // DISPLAY THE ERROR MESSAGE, IF ANY
    echo $error_message;

    // ACTIVATE THIS TO SHOW WHAT FIELDS WE CAPTURED
    // echo PHP_EOL . 'WE RECEIVED:' . PHP_EOL;
    // print_r($received);

    // IF NO ERRORS, PROCESSING COMPLETE (MAYBE UPDATE DATA BASE NOW?)
    if (empty($error_message))
    {
        die('THANK-YOU');
    }
} // END OF POST DATA PROCESSING

// END OF PROCESSING THE SUBMITTED INPUT - PUT UP THE FORM TO CAPTURE INPUT

echo '<form method="post">';
foreach ($required as $key => $value)
{
    echo "<br/>";

    // MAKE ERROR FIELDS SHOW IN RED
    if (in_array($key, $error_fields))
    {
        echo '<span style="color:red;">';
    }
    else
    {
        echo '<span>';
    }

    // PRESERVE THE VALUES THAT HAVE BEEN ENTERED
    if (isset($received[$key]))
    {
        $display_value = $received[$key];
    }
    else
    {
        $display_value = $value;
    }

    // PRODUCE THE INPUT CLUE
    echo "$value: </span>";

    // PRODUCE THE INPUT CONTROL
    echo '<input name="' . $key . '" value="' . $display_value . '" />';
}
echo '<input type="submit" />';
echo '</form>';

Open in new window

Avatar of LockDownLance
LockDownLance

ASKER

Ray.. awesome info...  using the top example and it works great.  Quick question... how can I get a successful email to land on another page rather than just echo it was successful?

Points being awarded.

Thanks!
Yes, you can land on another page.  You can load the page with include() or you can use header("Location: URL); to redirect.  Or, since PHP generates HTML, you can generate another page when the mail has been sent.
I'm not a PHP programmer AT ALL... Can you be more specific?  :-)

What code and where?  haha

What is the URL of the page you want to land on?
\jobform_02.html

Relative link is ok I would assume?
Yes, a relative link is fine.

In this script we suppress browser output.  The reason for that is because all HTTP headers must be complete before any browser output is created, and since we redirect with header("Location") we cannot write anything to the screen.

I have not tested this, but it looks correct, at least in principle.  If you want to learn more about PHP programming, this is an excellent book:
http://www.sitepoint.com/books/phpmysql4/

Best regards, ~Ray
<?php // RAY_form_to_email.php
error_reporting(E_ALL);

// CAPTURE ANY BROWSER OUTPUT
ob_start():

// SEND MAIL FROM A FORM

// A FUNCTION TO CLEAN UP THE DATA - AVOID BECOMING AN OPEN-RELAY FOR SPAM
function clean_string($str)
{
    $str = stripslashes($str);
    $str = trim(preg_replace("/ +/", " ", $str));
    $str = preg_replace('/^ a-zA-Z0-9&+:?_\.\-/', '', $str);
    return $str;
}

// REQUIRED VALUES ARE PREPOPULATED - CHANGE THESE FOR YOUR WORK
$from  = "NoReply@Your.org";
$subj  = "Contact Form";

// THIS IS AN ARRAY OF RECIPIENTS
$to[]  = "You@Your.org";
$to[]  = "Her@Your.org";
$to[]  = "Him@Your.org";

// IF THE DATA HAS BEEN POSTED
if (!empty($_POST['email']))
{
    // CLEAN UP THE POTENTIALLY BAD AND DANGEROUS DATA
    $email      = clean_string($_POST["email"]);
    $name       = clean_string($_POST["name"]);
    $telephone  = clean_string($_POST["telephone"]);

    // CONSTRUCT THE MESSAGE
    $content    = '';
    $content   .= "You have a New Query From $name \n\n";
    $content   .= "Tel No: $telephone\n";
    $content   .= "Email: $email\n";

    // SEND MAIL TO EACH RECIPIENT
    foreach ($to as $recipient)
    {
        @mail( $recipient, $subj, $content, "From: $from\r\n"));
    }
    
    // REDIRECT TO A NEW PAGE
    header("Location: /jobform_02.html");
    die();

} // END OF PHP - PUT UP THE FORM
?>
<form method="post">
<br/>Email: <input name="email" />
<br/>Phone: <input name="telephone" />
<br/>Name:  <input name="name" />
<br/><input type="submit" />
</form>

Open in new window

Thanks... I am getting a blank 'done' screen only when using this script.  

I tried to take the changes from original script and the updated one and apply to my working form as well... blank screen.

:-(
To check that required fields are filled, use Javascript
For mailing use PHP

Post your HTML form form (or name the fields and their type) and I'll post both scripts for you.  
I guess I can just show you all where I am...  

Here is the working form...

http://www.zenquestgroup.com/clients/serichrome/jobform_01.php

here is the page I want it to land on...

http://www.zenquestgroup.com/clients/serichrome/jobform_02.html

Below is source for jobform_01.php...

The only required field is the first one on the form...  when you submit.. you see what happens.  I want it to redirect.

Thanks for all the help!

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Serichrome color separation and pre-press company.</title>
<style type="text/css">
<!--
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	color: #333;
	font-size: 13px;
}
body {
	background-color: #000;
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-image: url(images/backfill_main.gif);
}
-->
</style>
<script type="text/javascript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<link href="serichrome.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
a:link {
	color: #930;
}
a:visited {
	color: #930;
}
a:hover {
	color: #930;
}
a:active {
	color: #930;
}
-->
</style></head>

<body onload="MM_preloadImages('images/btn_orders_02.gif','images/btn_portfolio_02.gif','images/btn_faqs_02.gif','images/btn_joborder_02.gif','images/btn_contact_new02.gif','images/btn_home_02.gif','images/btn_services_02.gif','images/btn_client_02.gif')">
<br />
<br />
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td align="left"><img src="images/top_01.png" width="839" height="65" alt="header" /></td>
  </tr>
  <tr>
    <td><table width="200" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td><img src="images/logo_part.gif" width="108" height="44" /></td>
        <td><a href="index.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('home','','images/btn_home_02.gif',1)"><img src="images/btn_home_01.gif" alt="home" name="home" width="119" height="44" border="0" id="home" /></a></td>
        <td><a href="services.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('services','','images/btn_services_02.gif',1)"><img src="images/btn_services_01.gif" alt="services" name="services" width="122" height="44" border="0" id="services" /></a><a href="services.html"></a></td>
        <td><a href="orders.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('orders','','images/btn_orders_02.gif',1)"><img src="images/btn_orders_01.gif" alt="orders" name="orders" width="122" height="44" border="0" id="orders" /></a></td>
        <td><a href="portfolio.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('portfolio','','images/btn_portfolio_02.gif',1)"><img src="images/btn_portfolio_01.gif" alt="portfolio" name="portfolio" width="122" height="44" border="0" id="portfolio" /></a></td>
        <td><a href="faq.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('faq','','images/btn_faqs_02.gif',1)"><img src="images/btn_faqs_01.gif" alt="faq" name="faq" width="122" height="44" border="0" id="faq" /></a></td>
        <td><a href="clients.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('clients','','images/btn_client_02.gif',1)"><img src="images/btn_client_01.gif" alt="clients" name="clients" width="124" height="44" border="0" id="clients" /></a></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td align="center" valign="middle" bgcolor="#FFFFFF"><table width="98%" border="0" cellpadding="8" cellspacing="8">
        <tr>
          <td width="73%" valign="top"><p><br />
            <img src="images/header_form.png" width="477" height="97" /></p>
            <p>Use this form below to help expedite your order.<br />
              Or <a href="images/Job_Order_Sheet.pdf">Download the PDF form</a> and fax it to: 214-631-6592.<br />
              <span class="headersub"><br />
            <strong> </strong><a href="mailto: seps@serichrome.com"></a></span>            </p>
            <p><span class="headersub">* = Required Fields</span><br />
            </p>
            
            
            <?php // RAY_form_to_email.php
error_reporting(E_ALL);

// SEND MAIL FROM A FORM

// A FUNCTION TO CLEAN UP THE DATA - AVOID BECOMING AN OPEN-RELAY FOR SPAM
function clean_string($str)
{
    $str = stripslashes($str);
    $str = trim(preg_replace("/ +/", " ", $str));
    $str = preg_replace('/^ a-zA-Z0-9&+:?_\.\-/', '', $str);
    return $str;
}

// REQUIRED VALUES ARE PREPOPULATED - CHANGE THESE FOR YOUR WORK
$from  = "noreply@grandsalineisd.net";
$subj  = "Job Order Form Received";

// THIS IS AN ARRAY OF RECIPIENTS
$to[]  = "lcaffey@grandsalineisd.net";
$to[]  = "lance.caffey@zenquestgroup.com";



// IF THE DATA HAS BEEN POSTED
if (!empty($_POST['company']))
{
    // CLEAN UP THE POTENTIALLY BAD AND DANGEROUS DATA
    $company    		= clean_string($_POST["company"]);
    $contact    		= clean_string($_POST["contact"]);
    $phone      		= clean_string($_POST["phone"]);
	$email	    		= clean_string($_POST["email"]);
	$fax        		= clean_string($_POST["fax"]);
	$po         		= clean_string($_POST["po"]);
	$address    		= clean_string($_POST["address"]);
	$city       		= clean_string($_POST["city"]);
	$state      		= clean_string($_POST["state"]);
	$zip        		= clean_string($_POST["zip"]);
	$shipping_company	= clean_string($_POST["shipping_company"]);
	$shipping_contact	= clean_string($_POST["shipping_contact"]);
	$shipping_phone 	= clean_string($_POST["shipping_phone"]);
	$shipping_po  		= clean_string($_POST["shipping_po"]);
	$shipping_address 	= clean_string($_POST["shipping_address"]);
	$shipping_city  	= clean_string($_POST["shipping_city"]);
	$shipping_state  	= clean_string($_POST["shipping_state"]);
	$shipping_zip  		= clean_string($_POST["shipping_zip"]);
	$DesignName  		= clean_string($_POST["DesignName"]);
	$ArtworkType  		= clean_string($_POST["ArtworkType"]);
	$ImageSize  		= clean_string($_POST["ImageSize"]);
	$ShirtColor  		= clean_string($_POST["ShirtColor"]);
	$WhiteBase  		= clean_string($_POST["WhiteBase"]);
	$WhiteHighlight		= clean_string($_POST["WhiteHighlight"]);
	$SpotFilms  		= clean_string($_POST["SpotFilms"]);
	$SpotDetails  		= clean_string($_POST["SpotDetails"]);
	$NumberFilms  		= clean_string($_POST["NumberFilms"]);
	$LineCount  		= clean_string($_POST["LineCount"]);
	$InkType  			= clean_string($_POST["InkType"]);
	$Instructions  		= clean_string($_POST["Instructions"]);

    // CONSTRUCT THE MESSAGE
    $content    = '';
    $content   .= "Job Order Form Received From: $company \n\n";
	$content   .= "Customer Information: \n";
	$content   .= "--------------------- \n";
	$content   .= "Company Name: $company\n";
	$content   .= "Contact Person: $contact\n";
	$content   .= "Phone Number: $phone\n";
	$content   .= "Email: $email\n";
	$content   .= "Fax Number: $fax\n";
	$content   .= "PO Number: $po\n";
	$content   .= "Street Address: $address\n";
	$content   .= "City: $city\n";
	$content   .= "State: $state\n";
	$content   .= "Zip: $zip\n\n";
	$content   .= "Shipping Information:\n";
	$content   .= "---------------------\n";
	$content   .= "Company Name: $shipping_company\n";
	$content   .= "Contact Person: $shipping_contact\n";
	$content   .= "Phone Number: $shipping_phone\n";
	$content   .= "PO Number: $shipping_po\n";
	$content   .= "Street Address: $shipping_address\n";
	$content   .= "City: $shipping_city\n";
	$content   .= "State: $shipping_state\n";
	$content   .= "Zip: $shipping_zip\n\n";
	$content   .= "Job Information:\n";
	$content   .= "----------------\n";
	$content   .= "Design/Concept Name: $DesignName\n";
	$content   .= "Type of Artwork: $ArtworkType\n\n";
	$content   .= "Output Information:\n";
	$content   .= "-------------------\n";
	$content   .= "Image Size: $ImageSize\n";
	$content   .= "Shirt Color: $ShirtColor\n";
	$content   .= "White Base: $WhiteBase\n";
	$content   .= "White HighLight: $WhiteHighlight\n";
	$content   .= "Spot Films: $SpotFilms\n";
	$content   .= "Spot Films Details: $SpotDetails\n\n";
	$content   .= "Type of Press and Max Colors Possible:\n";
	$content   .= "--------------------------------------\n";
	$content   .= "Number of Films Expected: $NumberFilms\n";
	$content   .= "Line Count: $LineCount\n";
	$content   .= "Type of Ink: $InkType\n";
	$content   .= "Special Instructions: $Instructions\n";

	

	

    // SEND MAIL TO EACH RECIPIENT
    foreach ($to as $recipient)
    {
        if (!mail( $recipient, $subj, $content, "From: $from\r\n"))
        {
            echo "MAIL FAILED FOR $recipient";
        }
        else
        {
            echo "Job Order Form Sent Successfully.  Thank you.";			
	
        }
    }
} // END OF PHP - PUT UP THE FORM
?>

            
            
            
            <form id="form1" name="form1" method="post" action="">
              <table width="455" border="0" align="center" cellpadding="2" cellspacing="4">
                <tr>
                  <td colspan="2" bgcolor="#CCCCCC">Customer Information:</td>
                </tr>
                <tr>
                  <td width="190" align="right"><span class="headersub">* Company Name:</span></td>
                  <td width="265"><input type="text" name="company" id="textfield" /></td>
                </tr>
                <tr>
                  <td align="right"><p><span class="headersub">* Contact Person</span>:</p></td>
                  <td><input type="text" name="contact" id="textfield2" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">* Phone Number:</span></td>
                  <td><input type="text" name="phone" id="textfield3" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">Email:</span></td>
                  <td><input type="text" name="email" id="textfield4" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">Fax Number:</span></td>
                  <td><input type="text" name="fax" id="textfield5" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">* PO Number:</span></td>
                  <td><input type="text" name="po" id="textfield6" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">* Street Address:</span></td>
                  <td><input type="text" name="address" id="textfield7" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">* City:</span></td>
                  <td><input type="text" name="city" id="textfield8" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">* State:</span></td>
                  <td><input name="state" type="text" id="textfield9" size="10" /></td>
                </tr>
                <tr>
                  <td align="right"><p class="headersub">* Zip:</p></td>
                  <td><input name="zip" type="text" id="textfield10" size="10" /></td>
                </tr>
              </table>
              <br />
              <table width="455" border="0" align="center" cellpadding="2" cellspacing="4">
                <tr>
                  <td colspan="2" bgcolor="#CCCCCC">Shipping Information:<span class="headersub"> (if different from above) .* All fields required if used...</span></td>
                </tr>
                <tr>
                  <td width="190" align="right"><span class="headersub">Company Name:</span></td>
                  <td width="265"><input type="text" name="shipping_company" id="textfield11" /></td>
                </tr>
                <tr>
                  <td align="right"><p><span class="headersub">Contact Person</span>:</p></td>
                  <td><input type="text" name="shipping_contact" id="textfield12" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">Phone Number:</span></td>
                  <td><input type="text" name="shipping_phone" id="textfield13" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">PO Number:</span></td>
                  <td><input type="text" name="shipping_po" id="textfield16" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">Street Address:</span></td>
                  <td><input type="text" name="shipping_address" id="textfield17" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">City:</span></td>
                  <td><input type="text" name="shipping_city" id="textfield18" /></td>
                </tr>
                <tr>
                  <td align="right"><span class="headersub">State:</span></td>
                  <td><input name="shipping_state" type="text" id="textfield19" size="10" /></td>
                </tr>
                <tr>
                  <td align="right"><p class="headersub">Zip:</p></td>
                  <td><input name="shipping_zip" type="text" id="textfield20" size="10" /></td>
                </tr>
              </table>
              <br />
              <table width="455" border="0" align="center" cellpadding="2" cellspacing="4">
                <tr>
                  <td colspan="2" bgcolor="#CCCCCC">Job Information:</td>
                </tr>
                <tr>
                  <td width="190" align="right"><span class="headersub">* Design/Concept Name:</span></td>
                  <td width="265"><input type="text" name="DesignName" id="textfield14" /></td>
                </tr>
                <tr>
                  <td align="right"><p><span class="headersub">* Type of Artwork (check One:)</span></p></td>
                  <td class="headersub"><input type="radio" name="ArtworkType" id="checkbox" value="Original Art"/>
                    Original Art</td>
                </tr>
                <tr>
                  <td align="right">&nbsp;</td>
                  <td class="headersub"><input type="radio" name="ArtworkType" id="checkbox2" value="Transparency"/>
                    Transparency</td>
                </tr>
                <tr>
                  <td align="right">&nbsp;</td>
                  <td class="headersub"><input type="radio" name="ArtworkType" id="checkbox3" value="Computer File"/>
                    Computer File</td>
                </tr>
              </table>
              <br />
              <table width="455" border="0" align="center" cellpadding="2" cellspacing="4">
                <tr>
                  <td colspan="2" bgcolor="#CCCCCC">Output Information:</td>
                </tr>
                <tr>
                  <td width="190" align="right"><span class="headersub">* Final Image Size:</span></td>
                  <td width="265"><input type="text" name="ImageSize" id="textfield15" /></td>
                </tr>
                <tr>
                  <td align="right"><p><span class="headersub">* Shirt Color:</span></p></td>
                  <td class="headersub"><input type="text" name="ShirtColor" id="textfield21" /></td>
                </tr>
                <tr>
                  <td align="right" class="headersub">* Check all that may apply:</td>
                  <td class="headersub"><input type="checkbox" name="WhiteBase" id="checkbox5" />
                    White Base</td>
                </tr>
                <tr>
                  <td align="right">&nbsp;</td>
                  <td class="headersub"><input type="checkbox" name="WhiteHighlight" id="checkbox4" /> 
                    White Highlight
</td>
                </tr>
                <tr>
                  <td align="right">&nbsp;</td>
                  <td class="headersub"><p>
                      <input type="checkbox" name="SpotFilms" id="checkbox6" />
                    Spot Films(list details below)</p>
                    <p>
                      <textarea name="SpotDetails" rows="5" id="textfield22"></textarea>
                    </p></td>
                </tr>
              </table>
              <br />
              <table width="455" border="0" align="center" cellpadding="2" cellspacing="4">
                <tr>
                  <td colspan="2" bgcolor="#CCCCCC">Type of Press and Max Colors Possible</td>
                </tr>
                <tr>
                  <td width="190" align="right"><span class="headersub">* Number of Films Expected:</span></td>
                  <td width="265"><input type="text" name="NumberFilms" id="textfield23" /></td>
                </tr>
                <tr>
                  <td align="right"><p><span class="headersub">* Line Count (ie 55lpi or 65lpi):</span></p></td>
                  <td class="headersub"><input type="text" name="LineCount" id="textfield24" /></td>
                </tr>
                <tr>
                  <td align="right" class="headersub">Type of Ink:</td>
                  <td class="headersub"><input type="text" name="InkType" id="textfield26" /></td>
                </tr>
                <tr>
                  <td align="right" valign="top" class="headersub">Special Instructions:</td>
                  <td class="headersub"><p>
                      <textarea name="Instructions" rows="5" id="textfield25"></textarea>
                    </p></td>
                </tr>
              </table>
              <br />
              <table width="455" border="0" align="center" cellpadding="2" cellspacing="4">
                <tr>
                  <td align="center" valign="middle"><p>
                    <input type="submit" name="button" id="button" value="Submit" />
                    </p>
                    <p><span class="headersub"><strong>Questions?</strong> Call us at (214) 631-5400 or email us at<a href="mailto: seps@serichrome.com"> seps@serichrome.com </a></span><br />
                  </p></td>
                </tr>
              </table>
            </form></td>
          <td width="27%" align="center" valign="top"><p><img src="images/port_side_15.jpg" width="202" height="258" /><br />
            <br />
            <br />
          </p>
            <table width="200" border="1" cellpadding="5" cellspacing="0">
            <tr>
              <td align="center"><p><img src="images/coupon_01.gif" width="172" height="63" alt="30off" /></p>
                <p><strong class="headermainblue">New Customer Discount</strong><br />
                  <span class="bodycopy-G">New customers receive 30%<br />
                off your first order!</span></p>
                <p><a href="jobform_01.html" target="_blank" onmouseover="MM_swapImage('jobs','','images/btn_joborder_02.gif',1)" onmouseout="MM_swapImgRestore()"><img src="images/btn_joborder_01.gif" alt="jobs" name="jobs" width="165" height="29" border="0" id="jobs" /></a><a href="images/Job_Order_Sheet.pdf" target="_blank" onmouseover="MM_swapImage('jobs','','images/btn_joborder_02.gif',1)" onmouseout="MM_swapImgRestore()"></a></p></td>
            </tr>
          </table></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td><img src="images/footer_new01.png" width="839" height="29" alt="fader" /></td>
  </tr>
  <tr>
    <td><table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><img src="images/footer_new02.png" alt="legal" width="627" height="40" border="0" usemap="#Map2" /></td>
        <td><a href="contact.html" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('contact','','images/btn_contact_new02.gif',1)"><img src="images/btn_contact_new01.gif" alt="contact2" name="contact" width="184" height="40" border="0" id="contact" /></a></td>
      </tr>
    </table></td>
  </tr>
</table>
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr> </tr>
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>
<br />
<br />
<br />
<br />

<map name="Map" id="Map">
  <area shape="rect" coords="283,15,391,39" href="legal.html" />
</map>

<map name="Map2" id="Map2">
  <area shape="rect" coords="268,8,376,32" href="legal.html" />
</map>
</body>
</html>

Open in new window

I might add... the form works.. it emails two of my email addresses...  I just want it to redirect afterwards.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You da man Ray!

Awesome.

Thanks!
Thanks for the points! ~Ray