13 Replies Latest reply: Aug 20, 2012 7:58 AM by sustainable_D RSS

    Need Help with Conatct Form

    sustainable_D

      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:

       

      Contact Form.jpg

       

       

      I am not sure where I have made an error(s). Could anyone please assist?

        • 1. Re: Need Help with Conatct Form
          Ken Binney CommunityMVP

          Sorry I am confused

           

           

          everything seems working properly,???

           

          I am not (Recipient) getting an e-mail.  Who is "I" ?

          the client      Who  is "the client" ?

          has received an automated reply from me (Recipient). No idea what this means ?

          But no e-mail were sent to me.   Who is "me" ?

           

          • 2. Re: Need Help with Conatct Form
            sustainable_D Community Member

            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

            • 3. Re: Need Help with Conatct Form
              Nancy O. CommunityMVP

              //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.

              • 4. Re: Need Help with Conatct Form
                sustainable_D Community Member

                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,message";   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

                • 5. Re: Need Help with Conatct Form
                  sustainable_D Community Member

                  Hi There, I am wondering if you need anything else from my end to assist you spot the problem.

                   

                  Many thanks in advance for your time and help.

                   

                  Khalid

                  • 6. Re: Need Help with Conatct Form
                    Nancy O. CommunityMVP

                    Looks OK to me.  Form seems to work.

                     

                    Nancy O.

                    • 7. Re: Need Help with Conatct Form
                      sustainable_D Community Member

                      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

                      • 8. Re: Need Help with Conatct Form
                        Nancy O. CommunityMVP

                        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.

                        • 9. Re: Need Help with Conatct Form
                          sustainable_D Community Member

                          I checked the spam folder several time over the course of this test. Nothing in there.

                          Also, my setting conform exactly to the format you provided above. Could it be something to do with the Internet Provider server? Not sure what's going on?

                           

                          Khalid

                          • 10. Re: Need Help with Conatct Form
                            Nancy O. CommunityMVP

                            Try using a different email account such as gmail or hotmail (both free).

                             

                             

                            Nancy O.

                            • 11. Re: Need Help with Conatct Form
                              sustainable_D Community Member

                              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_message.$captcha_messa ge.$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

                              • 12. Re: Need Help with Conatct Form
                                Nancy O. CommunityMVP

                                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.

                                • 13. Re: Need Help with Conatct Form
                                  sustainable_D Community Member

                                  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.html

                                   

                                  I hope this new information helps.

                                   

                                  Khalid