2012-08-16 63 views
0

联系方式我目前正在对这个网站: ​​不工作现场

和形式似乎并不奏效。提交时,它总是进入错误页面。我也尝试过这个网站在Windows服务器上(不知道这是否会有所作为),并表单工作正常。

这里是我使用的代码...

  <?php 

      // get posted data into local variables 

      $EmailTo = "***@***.com"; 
      $Subject = Trim(stripslashes($_POST['Subject'])); 
      $Name = Trim(stripslashes($_POST['Name'])); 
      $Email = Trim(stripslashes($_POST['Email'])); 
      $Address = Trim(stripslashes($_POST['Address'])); 
      $City = Trim(stripslashes($_POST['City'])); 
      $State = Trim(stripslashes($_POST['State'])); 
      $Zip = Trim(stripslashes($_POST['Zip'])); 
      $Phone = Trim(stripslashes($_POST['Phone'])); 
      $Message = Trim(stripslashes($_POST['Message'])); /* 
      $Sign = Trim(stripslashes($_POST['Sign'])); 
      $Volunteer = Trim(stripslashes($_POST['Volunteer'])); 
      $Walk = Trim(stripslashes($_POST['Walk'])); 
      $Coffee = Trim(stripslashes($_POST['Coffee'])); 
      $Calls = Trim(stripslashes($_POST['Calls'])); 
      $Donate = Trim(stripslashes($_POST['Donate'])); */ 
      $EmailFromName = $Name; 
      $EmailFromAddress = $Email; 

      // validation 
      $validationOK=true; 
      if (!$validationOK) { 
       print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">"; 
       exit; 
      } 

      // prepare email body text 
      $Body = ""; 
      $Body .= "This Email was sent from the Saviano for State Representative Website, contact page."; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Name: "; 
      $Body .= $Name; 
      $Body .= "\n"; 
      $Body .= "Address: "; 
      $Body .= $Address; 
      $Body .= "\n"; 
      $Body .= "City: "; 
      $Body .= $City; 
      $Body .= "\n"; 
      $Body .= "State: "; 
      $Body .= $State; 
      $Body .= "\n"; 
      $Body .= "Zip: "; 
      $Body .= $Zip; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Phone: "; 
      $Body .= $Phone; 
      $Body .= "\n"; 
      $Body .= "Email: "; 
      $Body .= $Email; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Subject: "; 
      $Body .= $Subject; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Message: "; 
      $Body .= $Message; 
      $Body .= "\n"; 
      $Body .= "\n";/* 
      $Body .= "Sign: "; 
      $Body .= $Sign; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Volunteer: "; 
      $Body .= $Volunteer; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Walk: "; 
      $Body .= $Walk; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Coffee: "; 
      $Body .= $Coffee; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Calls: "; 
      $Body .= $Calls; 
      $Body .= "\n"; 
      $Body .= "\n"; 
      $Body .= "Donate: "; 
      $Body .= $Donate;*/ 
      $Body .= "\n"; 




      // send email 
      $success = mail($EmailTo, $Subject, $Body, "From: $EmailFromName <$EmailFromAddress>"); 

      // redirect to success page 
      if ($success){ 
       print "<meta http-equiv=\"refresh\" content=\"0;URL=thanks.html\">"; 
      } 
      else{ 
       print "<meta http-equiv=\"refresh\" content=\"0;URL=error.html\">"; 
      } 
      ?> 

附:调查和志愿者页面上的表单也不起作用,但在Windows服务器上工作。

+0

我也尝试错误的PHP文件,并没有任何的顶部报告被显示出来。 – 2012-08-16 02:53:15

+0

尝试使用'\ r \ n'而不是'\ n' – Musa 2012-08-16 02:53:56

+0

只是尝试过并没有解决问题。 – 2012-08-16 02:56:06

回答

0

根据RFC 2822:标题字段由CRLF终止。

试试这个(我加为“\ r \ n”结尾):

$success = mail($EmailTo, $Subject, $Body, "From: $EmailFromName <$EmailFromAddress>\r\n"); 
+0

我只是试过,没有解决方案。 – 2012-08-16 03:23:18

+0

我应该使用哪些代码才能获得正确的错误报告?当你提交它只是去send.php,然后到错误页面。我不确定这个问题会是什么。 – 2012-08-16 03:25:54

+0

你是否也觉得在php.ini中应该改变什么? – 2012-08-16 03:28:32