I created a Contact Form in DW CS6, and I used the php and html files provided by Nancy O. in her forum dated back to October 2011. Follow the link for details. http://forums.adobe.com/message/3970070#3970070
I believe I have followed all the required steps, and almost everything seems working properly, except that I am not (Recipient) getting an e-mail. However, the client has received an automated reply from me (Recipient). But no e-mail were sent to me.
Please refer to below (Part of php code - Between Lines 12 and 35) where I have made the changes:
I am not sure where I have made an error(s). Could anyone please assist?
To clarify, I uploaded both"contactus.html and vsi2.php" files to the server. Then, I tested the "Contact Form" and I (Contact Form Sender or client) received an automatic reply stating that someone will be in touch with you soon.Note that the e-mail I used to send the Form is different than the one used in the php script. However, no e-mail was sent to me (Business owner) to the e-mail address I have provided in the php file under Line 12 "$tomail [0]=knagidi@optonline.net".
I hope this clarify my issue. Any help would be greatly appareciated.
Khalid
//This goes to your web site's email address
$subject[0]="message from YOURSITE.COM";
$mail_intro[0]="The following message was sent from YOURSITE.COM:";
$mail_fields[0]="first_name,last_name,email,phone,subject,message";
//This goes to the customer who submits the form
// Send back to sender config
$send_copy[0]="yes";
$copy_format[0]="vert_table";
$copy_fields[0]="first_name,last_name,subject,message";
$copy_subject[0]="YOURSITE'S automated reply";
$copy_intro[0]="Thanks for taking time to contact YOURSITE. Someone will be in touch with you soon.";
Fields shown in red must match HTML form fields exactly. Fields in bold red are required fields.
<Note that the e-mail I used to send the Form is different...>
I don't know what this means. Please post a link to your test page.
Nancy O.
To confirm what I have in my php script:
$subject[0]="message from energymcg.com";
$mail_intro[0]="The following message was sent from energymcg.com:";
$mail_fiels[0]="first_name,last_name,email,company,phone,subject,messa ge"; I HAVE ADDED HERE ONE FIELD "Company Name"
$send_copy[0]="yes";
$copy_format[0]"vert_table";
$copy_fields[0]="first_name,last_name,subject,message";
$copy_subject[0]="Energy Management Consulting Group automated reply";
$copy_intro[0]="Thank you for taking time to contact EMCG. Someone will be in touch with you soon.";
PLEASE CONFIRM THAT ABOVE INPUTS ARE CORRECT.
Note: All the fields in RED in html file have been confirmed to match the ones in php file.
Please see the link below for the test Form:
http://www.energymcg.com/test/vsi2.html
Khalid
I have asked several people to test the Form, and they did. All of them received an automated reply from EMCG.However, I did not get any e-mail stating that so and so is requesting this and that. No e-mail has been sent to me.
Kindly, could you please check the portion of the php code I sent before (above, just below your comment) and make sure it is correct. Am I supposed to have "www" before my site name in the first and the second lines of the script above like this WWW.MYSITE.COM ?
Khalid
I did not get any e-mail stating that so and so is requesting this and that. No e-mail has been sent to me.
Did you check your spam folder?
// options to use if hidden field "config" has a value of 0
// recipient info
$charset[0]="iso-8859-1";
$tomail[0]="CLEINT@DOMAIN.COM";
$cc_tomail[0]="YOU@DOMAIN.COM";
$bcc_tomail[0]="ANOTHER@DOMAIN.COM";
Nancy O.
Hi Nancy,
I created a new Gmail address as you suggested, and then tested the Form with it. I still can't receive an e-mail.
Also, I have contacted my Web Host, and they confirmed that there are no issues from their end.
I have attached below both the php and the html files, and I would appreciate if you can take a look at them for correctness:
PHP File:
<?php
////////////////////////////////////////////////////////////////////// //////
// Form Processing Script
////////////////////////////////////////////////////////////////////// //////
// General Variables
$check_referrer="no";
$referring_domains="http://domain.com/,http://www.domain.com/,http://subdomain.domain.com/";
// options to use if hidden field "config" has a value of 0
// recipient info
$charset[0]="iso-8859-1";
$tomail[0]="khalid.nagidi@gmail.com";
$cc_tomail[0]=" ";
$bcc_tomail[0]="";
// Mail contents config
$subject[0]="message from EMCG.COM";
$reply_to_field[0]="email";
$reply_to_name[0]="email";
$required_fields[0]="first_name,last_name";
$required_email_fields[0]="email";
$attachment_fields[0]="";
$return_ip[0]="yes";
$mail_intro[0]="The following message was sent from EMCG.COM:";
$mail_fields[0]="first_name,last_name,email,phone,subject,message";
$mail_type[0]="text";
$mail_priority[0]="1";
$allow_html[0]="no";
// Send back to sender config
$send_copy[0]="yes";
$copy_format[0]="vert_table";
$copy_fields[0]="first_name,last_name,subject,message";
$copy_attachment_fields[0]="";
$copy_subject[0]="EMCG automated reply";
$copy_intro[0]="Thanks for taking time to contact EMCG. Someone will be in touch with you soon.";
$copy_from[0]="noreply@energymcg.com";
$copy_tomail_field[0]="email";
// Result options
$header[0]="";
$footer[0]="";
$error_page[0]="";
$thanks_page[0]="";
// Default Error and Success Page Variables
$error_page_title[0]="Error - Missing Fields";
$error_page_text[0]="Required information is missing. Please use your browser's back button to return to the form and complete the required fields.";
$thanks_page_title[0]="Success - Form processing completed";
$thanks_page_text[0]="Thank you. Please check your e-mail for an automated confirmation. ";
// Antispam Options
$empty_field[0]="nospam";
$character_scan[0]="message";
$time_delay[0]="";
$captcha_codes[0]="9C2449,EEADC8,77A585,D72838";
$max_urls[0]="1";
$max_url_fields[0]="message";
$flag_spam[0]="";
////////////////////////////////////////////////////////////////////// ///
// Don't muck around past this line unless you know what you are doing //
////////////////////////////////////////////////////////////////////// ///
ob_start();
$config=$_POST["config"];
$debug=0;
$debug_text="";
// fix for Windows email server security
ini_set("sendmail_from",$tomail[$config]);
// email validation regular expression
$regex = "^[-a-z0-9!#$%&\'*+/=?^_`{|}~]+(\.[-a-z0-9!#$%&\'*+/=?^_`{|}~]+)*@(([ a-z0-9]([-a-z0-9]*[a-z0-9]+)?){1,63}\.)+([a-z]([-a-z0-9]*[a-z0-9]+)?){ 2,63}$";
$header_injection_regex = "(\r|\n)";
if($header[$config]!="")
include($header[$config]);
if($_POST["submit"] || $_POST["Submit"] || $_POST["submit_x"] || $_POST["Submit_x"])
{
////////////////////////////
// begin global functions //
////////////////////////////
// get visitor IP
function getIP()
{
if(getenv(HTTP_X_FORWARDED_FOR))
$user_ip=getenv("HTTP_X_FORWARDED_FOR");
else
$user_ip=getenv("REMOTE_ADDR");
return $user_ip;
}
// get value of given key
function parseArray($key)
{
$array_value=$_POST[$key];
$count=1;
extract($array_value);
foreach($array_value as $part_value)
{
if($count > 1){$value.=", ";}
$value.=$part_value;
$count=$count+1;
}
return $value;
}
// stripslashes and autolink url's
function parseValue($value)
{
$value=preg_replace("/(http:\/\/+.[^\s]+)/i",'<a href="\\1">\\1</a>', $value);
return $value;
}
// html header if used
function htmlHeader()
{
$htmlHeader="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n<html>\n<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$charset[$config]."\"></head>\n<body>\n<table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" width=\"600\">\n";
return $htmlHeader;
}
// html footer if used
function htmlFooter()
{
$htmlFooter="</table>\n</body>\n</html>\n";
return $htmlFooter;
}
// build verticle table format
function buildVertTable($fields, $intro, $to, $send_ip)
{
$message=htmlHeader();
if($intro != "")
$message.="<tr>\n<td align=\"left\" valign=\"top\" colspan=\"2\">".$intro."</td>\n</tr>\n";
$fields_check=preg_split('/,/',$fields);
$run=sizeof($fields_check);
for($i=0;$i<$run;$i++)
{
$cur_key=$fields_check[$i];
$cur_value=$_POST[$cur_key];
if(is_array($cur_value))
{
$cur_value=parseArray($cur_key);
}
$cur_value=parseValue($cur_value);
if($allow_html[$config]=="no")
$cur_value=htmlspecialchars(nl2br($cur_value));
else
$cur_value=nl2br($cur_value);
$message.="<tr>\n<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>".$cur_key."</b></td>\n<td align=\"left\" valign=\"top\" width=\"100%\">".$cur_value."</td>\n</tr>\n";
}
if($send_ip=="yes" && $to=="recipient")
{
$user_ip=getIP();
$message.="<tr>\n<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>Sender IP</b></td>\n<td align=\"left\" valign=\"top\" width=\"100%\">".$user_ip."</td>\n</tr>\n";
}
$message.=htmlFooter();
return $message;
}
// build horizontal table format
function buildHorzTable($fields, $intro, $to, $send_ip)
{
$message=htmlHeader();
$fields_check=preg_split('/,/',$fields);
$run=sizeof($fields_check);
if($intro != "")
$message.="<tr>\n<td align=\"left\" valign=\"top\" colspan=\"".$run."\">".$intro."</td>\n</tr>\n";
$message.="<tr>\n";
for($i=0;$i<$run;$i++)
{
$cur_key=$fields_check[$i];
$message.="<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>".$cur_key."</b></td>\n";
}
if($send_ip=="yes" && $to=="recipient")
$message.="<td align=\"left\" valign=\"top\" style=\"white-space:nowrap;\"><b>Sender IP</b></td>\n";
$message.="</tr>\n";
$message.="<tr>\n";
for($i=0;$i<$run;$i++)
{
$cur_key=$fields_check[$i];
$cur_value=$_POST[$cur_key];
if(is_array($cur_value))
{
$cur_value=parseArray($cur_key);
}
$cur_value=parseValue($cur_value);
if($allow_html[$config]=="no")
$cur_value=htmlspecialchars(nl2br($cur_value));
else
$cur_value=nl2br($cur_value);
$message.="<td align=\"left\" valign=\"top\">".$cur_value."</td>\n";
}
$message.="</tr>\n";
$message.="<tr>\n";
if($send_ip=="yes" && $to=="recipient")
{
$user_ip=getIP();
$message.="<td align=\"left\" valign=\"top\">".$user_ip."</td>\n";
}
$message.="</tr>\n";
$message.=htmlFooter();
return $message;
}
// build plain text format
function buildTextTable($fields, $intro, $to, $send_ip)
{
$message="";
if($intro != "")
$message.=$intro."\n\n";
$fields_check=preg_split('/,/',$fields);
$run=sizeof($fields_check);
for($i=0;$i<$run;$i++)
{
$cur_key=$fields_check[$i];
$cur_value=$_POST[$cur_key];
if(is_array($cur_value))
{
$cur_value=parseArray($cur_key);
}
$cur_value=parseValue($cur_value);
if($allow_html[$config]=="no")
$cur_value=htmlspecialchars($cur_value);
else
$cur_value=$cur_value;
$message.="".$cur_key.": ".$cur_value."\n";
}
if($send_ip=="yes" && $to=="recipient")
{
$user_ip=getIP();
$message.="Sender IP: ".$user_ip."\n";
}
return $message;
}
// get the proper build fonction
function buildTable($format, $fields, $intro, $to, $send_ip)
{
if($format=="vert_table")
$message=buildVertTable($fields, $intro, $to, $send_ip);
else if($format=="horz_table")
$message=buildHorzTable($fields, $intro, $to, $send_ip);
else
$message=buildTextTable($fields, $intro, $to, $send_ip);
return $message;
}
// referrer checking security option
function checkReferer()
{
if($check_referrer=="yes")
{
$ref_check=preg_split('/,/',$referring_domains);
$ref_run=sizeof($ref_check);
$referer=$_SERVER['HTTP_REFERER'];
$domain_chk="no";
for($i=0;$i<$ref_run;$i++)
{
$cur_domain=$ref_check[$i];
if(stristr($referer,$cur_domain)){$domain_chk="yes";}
}
}
else
{
$domain_chk="yes";
}
return $domain_chk;
}
// checking required fields and email fields
function checkFields($text_fields, $email_fields, $regex)
{
$error_message="";
if($debug==1)
$error_message.="<li>text_fields: ".$text_fields."<br />email_fields: ".$email_fields."<br />reply_to_field: ".$reply_to_field."<br />reply_to_name: ".reply_to_name."</li>";
if($text_fields != "")
{
$req_check=preg_split('/,/',$text_fields);
$req_run=sizeof($req_check);
for($i=0;$i<$req_run;$i++)
{
$cur_field_name=$req_check[$i];
$cur_field=$_POST[$cur_field_name];
if($cur_field=="")
{
$error_message.="<li>You are missing the <b>".$req_check[$i]."</b> field</li>\n";
}
}
}
if($email_fields != "")
{
$email_check=preg_split('/,/',$email_fields);
$email_run=sizeof($email_check);
for($i=0;$i<$email_run;$i++)
{
$cur_email_name=$email_check[$i];
$cur_email=$_POST[$cur_email_name];
if($cur_email=="" || !eregi($regex, $cur_email))
{
$error_message.="<li>You are missing the <b>".$email_check[$i]."</b> field or it is not a valid email address.</li>\n";
}
}
}
return $error_message;
}
// attachment function
function getAttachments($attachment_fields, $message, $content_type, $border)
{
$att_message="This is a multi-part message in MIME format.\r\n";
$att_message.="--{$border}\r\n";
$att_message.=$content_type."\r\n";
$att_message.="Content-Transfer-Encoding: 7bit\r\n\r\n";
$att_message.=$message."\r\n\r\n";
$att_check=preg_split('/,/',$attachment_fields);
$att_run=sizeof($att_check);
for($i=0;$i<$att_run;$i++)
{
$fileatt=$_FILES[$att_check[$i]]['tmp_name'];
$fileatt_name=$_FILES[$att_check[$i]]['name'];
$fileatt_type=$_FILES[$att_check[$i]]['type'];
if (is_uploaded_file($fileatt))
{
$file=fopen($fileatt,'rb');
$data=fread($file,filesize($fileatt));
fclose($file);
$data=chunk_split(base64_encode($data));
$att_message.="--{$border}\n";
$att_message.="Content-Type: {$fileatt_type}; name=\"{$fileatt_name}\"\r\n";
$att_message.="Content-Disposition: attachment; filename=\"{$fileatt_name}\"\r\n";
$att_message.="Content-Transfer-Encoding: base64\r\n\r\n".$data."\r\n\r\n";
}
}
$att_message.="--{$border}--\n";
return $att_message;
}
// function to set content type
function contentType($charset, $format)
{
if($format=="vert_table")
$content_type="Content-type: text/html; charset=".$charset."\r\n";
else if($format=="horz_table")
$content_type="Content-type: text/html; charset=".$charset."\r\n";
else
$content_type="Content-type: text/plain; charset=".$charset."\r\n";
return $content_type;
}
//////////////////////////
// end global functions //
//////////////////////////
////////////////////////////////
// begin procedural scripting //
////////////////////////////////
// anti-spam empty field check
if($_POST[$empty_field[$config]] != "")
{
$empty_message = "<li>This submission failed and was flagged as spam.</li>\n";
}
// anti-spam character scan check
if(strlen($character_scan[$config]) > 0)
{
$spam_message="";
$field_check=preg_split('/,/',$character_scan[$config]);
$field_run=sizeof($field_check);
for($i=0;$i<$field_run;$i++)
{
$cur_field_name=$field_check[$i];
$cur_field=$_POST[$cur_field_name];
if(preg_match("/<(.|\n)+?>/", $cur_field) || preg_match("/\[(.|\n)+?\]/", $cur_field))
$spam_message.="<li>This message contains disallowed characters.</li>\n";
}
}
// anti-spam time delay check
if((strlen($time_delay[$config]) > 0 && strlen($_POST["time"]) > 0) || (strlen($time_delay[$config]) > 0 && (strlen($_POST["time"]) == 0 || !$_POST["time"])))
{
if((time() - $_POST["time"]) < $time_delay[$config])
$time_message = "<li>This has been stopped by the timer, and is likely spam.</li>\n";
}
// anti-spam CAPTCHA check
if(strlen($captcha_codes[$config]) > 0)
{
$captcha_check=preg_split('/,/',$captcha_codes[$config]);
if(strtolower($_POST["captcha_entry"]) != strtolower($captcha_check[$_POST["captcha_code"]]))
$captcha_message = "<li>CAPTCHA test did not match.</li>\n";
}
// anti-spam max URL check
if(strlen($max_url_fields[$config]) > 0)
{
$max_url_message="";
$field_check=preg_split('/,/',$max_url_fields[$config]);
$field_run=sizeof($field_check);
for($i=0;$i<$field_run;$i++)
{
$cur_field_name=$field_check[$i];
$cur_field=$_POST[$cur_field_name];
preg_match_all("/http:/", $cur_field, $matches);
if(count($matches[0]) > $max_urls[$config])
$max_url_message.="<li>This message contains too many URL's.</li>\n";
}
}
// set anti-spam flagging option
if(strlen($empty_message.$spam_message.$time_message.$captcha_message .$max_url_message) > 0 && strlen($flag_spam[$config]) == 0)
$set_flag = 2;
else if(strlen($empty_message.$spam_message.$time_message.$captcha_message .$max_url_message) > 0 && strlen($flag_spam[$config]) > 0)
$set_flag = 1;
else
$set_flag = 0;
// header injection check
$security_filter="";
if(strlen($_POST[$reply_to_field[$config]]) > 0)
{
if(eregi($header_injection_regex,$_POST[$reply_to_field[$config]]))
$security_filter.="<li>Header injection attempt detected, mail aborted.</li>\n";
else
$reply_to_field_checked=$_POST[$reply_to_field[$config]];
}
if(strlen($_POST[$reply_to_name[$config]]) > 0)
{
if(eregi($header_injection_regex,$_POST[$reply_to_name[$config]]))
$security_filter.="<li>Header injection attempt detected, mail aborted.</li>\n";
else
$reply_to_name_checked=$_POST[$reply_to_name[$config]];
}
// check domain referrer and continue
$domain_chk=checkReferer();
if($domain_chk=="yes")
{
$error_message=checkFields($required_fields[$config], $required_email_fields[$config], $regex);
if(strlen($error_message) < 1 && strlen($security_filter) < 1 && $set_flag < 2)
{
// build appropriate message format for recipient
$content_type=contentType($charset[$config], $mail_type[$config]);
$message=buildTable($mail_type[$config], $mail_fields[$config], $mail_intro[$config], "recipient", $return_ip[$config]);
// build header data for recipient message
//$extra="From: ".$_POST[$reply_to_field[$config]]."\r\n";
$extra="From: ".$reply_to_name_checked." <".$reply_to_field_checked.">\r\n";
if($cc_tomail[$config]!="")
$extra.="Cc: ".$cc_tomail[$config]."\r\n";
if($bcc_tomail[$config]!="")
$extra.="Bcc: ".$bcc_tomail[$config]."\r\n";
if($mail_priority[$config]!="")
$extra.="X-Priority: ".$mail_priority[$config]."\r\n";
// get attachments if necessary
if($attachment_fields[$config]!="")
{
$semi_rand=md5(time());
$border="==Multipart_Boundary_x{$semi_rand}x";
$extra.="MIME-Version: 1.0\r\n";
$extra.="Content-Type: multipart/mixed; boundary=\"{$border}\"";
$message=getAttachments($attachment_fields[$config], $message, $content_type, $border);
}
else
{
$extra.="MIME-Version: 1.0\r\n".$content_type;
}
// send recipient email
if($debug==1)
{
if($set_flag == 1)
$debug_text.="<p><b>Mail would have sent flagged for spam if not in debug mode.</b></p>";
else
$debug_text.="<p><b>Mail would have sent if not in debug mode.</b></p>";
}
else if($debug==0)
{
if($set_flag == 1)
$subject = $flag_spam[$config]." ".$subject[$config];
else
$subject = $subject[$config];
mail("".$tomail[$config]."", "".stripslashes($subject)."", "".stripslashes($message)."", "".$extra."");
}
// autoresponse email if necessary
if($send_copy[$config]=="yes")
{
// build appropriate message format for autoresponse
$content_type=contentType($charset[$config], $copy_format[$config]);
$message=buildTable($copy_format[$config], $copy_fields[$config], $copy_intro[$config], "autoresponder", $return_ip[$config]);
// build header data for autoresponse
$copy_tomail=$_POST[$copy_tomail_field[$config]];
$copy_extra="From: ".$copy_from[$config]."\r\n";
// get autoresponse attachments if necessary
if($copy_attachment_fields[$config]!="")
{
$semi_rand=md5(time());
$border="==Multipart_Boundary_x{$semi_rand}x";
$copy_extra.="MIME-Version: 1.0\r\n";
$copy_extra.="Content-Type: multipart/mixed; boundary=\"{$border}\"";
$message=getAttachments($copy_attachment_fields[$config], $message, $content_type, $border);
}
else
{
$copy_extra.="MIME-Version: 1.0\r\n".$content_type;
}
// send autoresponse email
if($debug==1)
{
if($set_flag == 1)
$debug_text.="<p><b>Autoresponder would have sent flagged for spam if not in debug mode.</b></p>";
else
$debug_text.="<p><b>Autoresponder would have sent if not in debug mode.</b></p>";
}
else if($debug==0)
{
$send_copy = 1;
if($copy_tomail=="" || !eregi($regex,$copy_tomail))
$send_copy = 0;
if($send_copy == 1)
{
if($set_flag == 1)
$copy_subject = $flag_spam[$config]." ".$copy_subject[$config];
else
$copy_subject = $copy_subject[$config];
mail("$copy_tomail", "".$copy_subject."", "$message", "$copy_extra");
}
}
}
// showing thanks pages from a successful submission
if($thanks_page[$config]=="")
{
echo "<h3>".$thanks_page_title[$config]."</h3>\n";
echo "<p>".$thanks_page_text[$config]."</p>\n";
if(strlen($debug_text) > 0)
echo "<p><b><i>".$debug_text."</i></b></p>\n";
}
else
{
header("Location: ".$thanks_page[$config]);
}
}
else
{
// entering error page options from missing required fields
if($error_page[$config]=="")
{
echo "<h3>".$error_page_title[$config]."</h3>\n";
echo "<ul>\n";
echo $security_filter.$empty_message.$error_message.$spam_message.$time_me ssage.$captcha_message.$max_url_message;
echo "</ul>\n";
echo "<p>".$error_page_text[$config]."</p>\n";
}
else
{
header("Location: ".$error_page[$config]);
}
}
}
else
{
echo "<h3>".$error_page_title[$config]."</h3>\n";
// message if unauthorized domain trigger from referer checking option
echo "<p>Sorry, mailing request came from an unauthorized domain.</p>\n";
}
//////////////////////////////
// end procedural scripting //
//////////////////////////////
}
else
{
echo "<h3>Error</h3>";
echo "<p>No form data has been sent to the script</p>\n";
}
if($footer[$config]!="")
include($footer[$config]);
ob_end_flush();
?>
<input type="button" value="Return to Form" onClick="javascript: history.go(-1);" />
HTML File:
<!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=iso-8859-1" />
<title>Sample Form</title>
<style type="text/css">
/**BEGIN FORM STYLES**/
#form1 {
font-size: 14px;
width: 500px;
margin: 0 auto; /**centered**/
background: #FFF;
border: 2px groove green;
padding: 7px 14px 7px 14px;
}
fieldset {
margin-bottom: 5px;
border-right: none;
border-bottom: none;
border-left: none;
}
legend {
padding: 8px;
border: 1px solid silver;
background: #009900;
font-weight: bold;
color: #FFFFFF;
margin-left: -75px;
*margin-left:0;
line-height: 1.5
}
/**wrap form lables and fields inside ordered lists for better web accessibility**/
#form1 ol {
list-style: none;
margin: 0;
padding: 0
}
#form1 li {
padding: 5px;
margin: 0;
clear: left;
}
label {
display: inline-block;
float: left;
line-height: 23px; /**lines up labels with fields**/
width: 167px;
font-size: 12px;
color: #666;
text-align: right;
margin-right: 10px; /*space between labels, fields*/
}
input[type=text], textarea {
width: 190px; /**same width on text fields**/
padding: 5px;
color: #666;
border: 1px dotted #009900;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
/**field background on focus**/
input:focus, input:active, textarea:focus, textarea:active {
background-color: #EBECDE;
border: 1px solid;
}
#submit {
margin-left: 45px;
background: #009900;
font-size: 18px;
color: #FFF;
font-weight: bold;
border: 2px outset #FFF
}
#submit:hover, #submit:focus, #submit:active {
background: #006600;
color: yellow;
border: 2px inset #FFF
}
/**END FORM STYLES**/
</style>
</head>
<body>
<!--BEGIN HTML FORM, action="path to form-processing script on your server" -->
<form id="form1" action="vsi2.php" method="post" enctype="multipart/form-data" name="form1">
<h3>HTML Contact Form</h3>
<fieldset>
<legend>Required Fields:</legend>
<!--spam prevention-->
<input name="config" type="hidden" value="0" />
<input type="text" name="nospam" style="display:none" />
<ol>
<li>
<label for="first_name">First Name:</label>
<input name="first_name" id="first_name" type="text" />
</li>
<li>
<label for="last_name">Last Name:</label>
<input name="last_name" id="last_name" type="text" />
</li>
<li>
<label for="email">E-mail:</label>
<input name="email" id="email" type="text" />
</li>
</ol>
</fieldset>
<fieldset>
<legend>Optional Fields:</legend>
<ol>
<li>
<label for="phone">Phone number:</label>
<input name="phone" id="phone" type="text" />
</li>
<li>
<label for="subject">Subject:</label>
<input name="subject" id="subject" type="text" />
</li>
<li>
<label for="message">Message:</label>
<textarea id="message" name="message"></textarea>
</li>
<li>
<label for="submit"> </label>
<input type="submit" name="submit" id="submit" value="Submit" />
</li>
</ol>
</fieldset>
</form>
<!--END OF FORM -->
</body>
</html>
Test File:
http://www.energymcg.com/Original/contactus.html
Thank you for your patience and for sticking with me. I really appreciate it.
Khalid
Sorry to leave you hanging with this but I have been off line for a week while moving.
I don't see any problems with your PHP or your HTML code. I must conclude that something is missing at your server's end. Ask your host what type of server you have, which ver of PHP is installed.
Nancy O.
Hi Nancy,
Thank you for getting back to me. Please see below the information you requested.
* Linux based OS
* apache
* mysql
* php 5.3.6
Also, Yahoo told me that the following code needs to be incorporated with php script.
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
$message = "PHP is working";
if(mail('khalid.nagidi@gmail.com', 'PHP Send Mail is Functioning!', $message)) {
echo 'It worked! Email will arrive shortly.';
}
else {
echo 'Error! Email not sent';
}
?></body>
</html>
Also, I have included a link to one of their help page on php script.
http://help.yahoo.com/l/us/yahoo/smallbusiness/webhosting/php/php-17.h tml
I hope this new information helps.
Khalid
North America
Europe, Middle East and Africa
Asia Pacific