2014-02-18 95 views
1

我正在我的網站上發送電子郵件。 由於某種原因,我無法從此表單收到電子郵件。無法從此php表格中獲取電子郵件

HTML

 <form method="POST" action="processor.php" id="contactform" onsubmit="return(validateForm());"> 
     <div> 
      <label for="fname">First Name:<br></label> 
      <input type="text" name="fname" id="fname" value="" class="required"/> 
     </div> 
     <div> 
      <label for="lname">Last Name:<br></label> 
      <input type="text" name="lname" id="lname" value="" class="required"/> 
     </div> 
     <div> 
      <label for="organization">Organization:<br></label> 
      <input type="text" name="organization" id="organization" value="" class="required"/> 
     </div> 
     <div> 
      <label for="email">Email:<br></label> 
      <input type="text" name="email" id="email" value="" class="required email" /> 
     </div> 

     <div> 
      <label for="phone">Phone:<br></label> 
      <input type="text" name="phone" id="phone" value="" class="required" /> 
     </div>   

     <div> 
      <label for="message" style="line-height: 2;">Message:<br></label> 
      <textarea rows="20" cols="20" name="message" id="message"></textarea> 
     </div> 

     <input id="submit" name="submit" type="submit" class="submit-button myButton" value="Send" /> 
     <div class="clearfix"></div> 
    </form> 

PHP

<?php 
if ($_SERVER['REQUEST_METHOD'] == "POST") { 
    if (strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) > 7 || !strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) 
     die("Bad referer"); 
    $msg = "Website Message:\n\n\n"; 
    foreach ($_POST as $key => $val) { 
     if (is_array($val)) { 
      $msg .= "Item: $key\n\n"; 
      foreach ($val as $v) { 
       $v = stripslashes($v); 
       $msg .= " $v\n\n"; 
      } 
     } else { 
      $val = stripslashes($val); 
      $msg .= "$key: $val\n\n"; 
     } 
    } 
    $recipient = "[email protected]"; 
    $subject = "Website Contact Form Filled Out"; 
    error_reporting(0); 
    if (mail($recipient, $subject, $msg)) { 
     header("Location: http://www.example.com/thankyou.html"); 
    } else 
     echo "An error occurred and the message could not be sent."; 
} else 
    echo "Bad request method"; 
?> 

的東西是PHP代碼的工作,因爲它與其他HTML表單的工作。 我想知道HTML編碼的方式是不是。 如果有人知道PHP並且形式良好,請幫助我。 謝謝!

+0

這個代碼有很多錯誤,找到一個從PHP發送郵件的教程 – 2014-02-18 02:32:49

+0

確切的問題是什麼?此外,修改代碼會使其更具可讀性。 – jeroen

+0

問題是,即使我用這種形式發送郵件,即使在垃圾郵件箱中,我也沒有收到任何郵件。 – shinyatk

回答

0

試試這個:

print_r($_POST); 
exit; 

代碼

// put it here 
if ($_SERVER['REQUEST_METHOD'] == "POST") { 
     if (strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST']) > 7 || !strpos($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) 
      die("Bad referer"); 
    .... 

之前如果你會看到變量包含的電子郵件 - 再出錯了PHP腳本 而且還 - 啓用顯示錯誤(即錯誤報告)

我看到了,你說它和另一種形式完美搭配。我能看看這種形式的代碼嗎?

+0

謝謝Victor!我剛剛發現,當我將提交按鈕的ID和名稱命名爲「submit」時,它不起作用。將它們更改爲#submitbutton(ID)和submitBtn(名稱)後,它就起作用了。其實,我不知道它爲什麼起作用。 – shinyatk

+0

沒問題;)如果此評論對您有用,請投票 –

相關問題