2012-07-04 59 views
0

我正在使用以下來讓聯繫頁面向我發送包含訪問者數據的電子郵件。聯繫表格不發送數據

  <form method="post" action="submit.php"> 
      <label for="Name">Name</label> 
      <input type="text" name="Name" id="Name" /> 

      <label for="Email">eMail</label> 
      <input type="text" name="Email" id="Email" /> 



      <input type="submit" name="submit" value="Send" class="submit-button" /> 
      </form> 

和PHP:

<?php 

    $EmailFrom = "Me"; 
    $EmailTo = "[email protected]"; 
    $Subject = "Test"; 
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 

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

    // prepare email body text 
    $Body = ""; 
    $Body .= "Name: "; 
    $Body .= $Name; 
    $Body .= "\n"; 
    $Body .= "eMail: "; 
    $Body .= $Email; 
    $Body .= "\n"; 

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: $EmailFrom"); 

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

當試圖出來我只得到由PHP文件,但由遊客插入的信息沒有準備的電子郵件正文中,這樣的:

名稱: 電子郵件:

+0

你確定你有安裝在機器上的郵件服務器? –

+0

我已經上傳到客戶端服務器但沒有結果。 – no0ne

+0

嘗試修剪而不是修剪(最佳實踐)。 http://stackoverflow.com/questions/5643496/are-php-functions-case-sensitive – Waygood

回答

0

嘗試設置頭信息,電子郵件:

$header = 'MIME-Version: 1.0'."\r\n"; 
$header .= 'Content-type: text/plain; charset=iso-8859-1'."\r\n"; 
$header .= 'From: '.$EmailFrom."\r\n"; 

$success = mail($EmailTo, $Subject, $Body, $header); 
0

最後我只是簡化了一下..它似乎是一個「區分大小寫」的問題,它停止了與php文件進行通信的窗體。

所以這到底是什麼工作:

  <form method="post" action="submit.php"> 
      <label for="Name">Name</label> 
      <input type="text" name="Name" id="name" /> 

      <label for="Email">eMail</label> 
      <input type="text" name="Email" id="email" /> 

      <label for="Message">Message</label> 
      <textarea name="Message" rows="10" id="message"></textarea> 

      <input type="submit" name="submit" value="Send" class="submit" id="submit"/> 
      </form> 

和PHP:

 <?php 


    $EmailFrom = "Test"; 
    $EmailTo = "[email protected]"; 
    $Subject = "Testing"; 
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 
    $Message = Trim(stripslashes($_POST['Message'])); 

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

    // prepare email body text 
    $Body = ""; 
    $Body .= "Name: "; 
    $Body .= $Name; 
    $Body .= "\n"; 
    $Body .= "eMail: "; 
    $Body .= $Email; 
    $Body .= "\n"; 
    $Body .= "Message: "; 
    $Body .= $Message; 
    $Body .= "\n"; 

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: $EmailFrom"); 

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