2015-07-06 57 views
-1

我在我的網站有聯繫表格,當用戶填寫表格時,它應該發送帶有用戶內容的表格到我的郵件。我試過這個顯示空白頁面。如何發送聯繫表格到網站郵件

這裏是我的形式:

<form id="contact_form" action="mail.php" method="post" class="form-horizontal"> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">Name:</label> 
     <div class="col-md-5"> 
      <input type="email" class="form-control" name="name" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">E-mail:</label> 
     <div class="col-md-5"> 
      <input type="email" class="form-control" name="email" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">Mobile Number:</label> 
     <div class="col-md-5"> 
      <input type="email" class="form-control" name="mob" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">Requirement</label> 
     <div class="col-md-5"> 
      <textarea class="form-control" name="mess" cols="30" rows="10" placeholder="Your Message"></textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-5 col-md-offset-3"> 
      <button type="submit" class="btn btn-default">GET A QUOTE</button> 
      </div> 
    </div> 
</form> 

和PHP郵件:我曾經嘗試這樣做,在執行時顯示空白它

<?php 
if(isset($_POST['submit'])) { 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $mob = $_POST['mob']; 
    $mess = $_POST['mess']; 
    $subject = 'Message from website'; 
    $to = '[email protected]'; 
    $headers="From: {$email}\r\nReply-To: {$email}"; 
    mail($to,$subject,$message,$headers); 
    $success = "Thank you! You're email has been sent."; 
} 
?> 

回答

0

您還沒有顯示任何內容,而mail()是成功的。

if(mail($to,$subject,$message,$headers)) 
     echo $success = "Thank you! You're email has been sent."; 
    else 
     echo "Failed!!"; 

另外您還沒有定義$message。將$mess更改爲$message

+0

但郵件沒有到達我使用WAMP – Pawankalyan

+0

莫非你嘗試將它發送到Gmail地址? – 73ey

+0

是的,我發送到Gmail,仍然顯示空白頁面。 – Pawankalyan

0

我想你缺少enctype="multipart/form-data"表單屬性。學習下面的鏈接。這非常有用。 Contact Form Data Email Link

+0

你確定他需要嗎?啓發自己[這裏](http://stackoverflow.com/questions/4526273/what-does-enctype-multipart-form-data-mean) – 73ey

+0

哦,我真的很抱歉,錯誤的回答.... @ a3ey –

+0

世界不會被那些做惡的人毀滅,而被那些無所事事的人毀滅。 ;) – 73ey

1

PHPSimpleMail

簡單的PHP梅勒是優於內置PHP函數。 查看this link瞭解更多信息。

您還需要根據您的需要使用輸入類型。 一樣,如果你想獲得的電子郵件,然後使用

For Email: <input type="email" name="email"> 
For Phone: <input type="tel" name="phonenumber"> 
For name: <input type="text" name="FirstName"> 

不要在所有輸入字段中使用的電子郵件類型。

0

在表單中(這個替換到您的代碼)

<form action="#" method="post" class="form-horizontal"> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">Name:</label> 
     <div class="col-md-5"> 
      <input type="text" class="form-control" name="name" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">E-mail:</label> 
     <div class="col-md-5"> 
      <input type="email" class="form-control" name="email" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">Mobile Number:</label> 
     <div class="col-md-5"> 
      <input type="number" class="form-control" name="mob" /> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label class="col-md-3 control-label">Requirement</label> 
     <div class="col-md-5"> 
      <textarea class="form-control" name="mess" cols="30" rows="10" placeholder="Your Message"></textarea> 
     </div> 
    </div> 
    <div class="form-group"> 
     <div class="col-md-5 col-md-offset-3"> 
      <input type="submit" name="submit" class="btn btn-default" value="GET A QUOTE"> 
     </div> 
    </div> 
</form> 

然後下面的表格,添加此PHP代碼

<?php 
    if(isset($_POST['submit'])) 
    { 
     $name = $_POST['name']; 
     $email = $_POST['email']; 
     $mob = $_POST['mob']; 
     $mess = $_POST['mess']; 

     if(empty($name)||empty($email)||empty($mob)) 
     { 
      ?> 
      <script> 
       alert('Name, Email, Mobile is empty'); 
      </script> 
     <?php 
     } 
     else 
     { 
      // Method 01 (Normal method) 
      $to = '[email protected]'; 
      $subject = 'Message from website'; 

      $headers="From:".$email; 

      $message = 'Customer Name :'.$name; 
      $message .= '<br>Customer Mobile :'.$mob; 
      $message .= '<br>Customer Email :'.$email; 
      $message .= '<br>Customer Message :'.$mess; 

      $mail = mail($to,$subject,$message,$headers); 
      if(isset($mail)) 
      { 
       ?> 
       <script> 
        alert('Mail Sent'); 
       </script> 
      <?php 
      } 
      else 
      { 

       ?> 
       <script> 
        alert('Mail Sending Failed'); 
       </script> 
      <?php 
      } 

      //method 02, Using table 

      $to = '[email protected]'; 
      $subject = 'Message from website'; 

      $headers="From:".$email; 

      $message = '<html><body>'; 
      $message .= '<table rules="all" style="border: 1px solid #eee; width: 850px" cellpadding="10">'; 
      $message .= "<tr><td width='25%'><strong>Name</strong> </td><td width='75%'>".strip_tags($_POST['name'])."</td></tr>"; 
      $message .= "<tr><td><strong>Email</strong> </td><td>" .strip_tags($_POST['email']) . "</td></tr>"; 
      $message .= "<tr><td><strong>Mobile</strong> </td><td>" .strip_tags($_POST['mob']) . "</td></tr>"; 
      $message .= "<tr><td><strong>Message</strong> </td><td>" . strip_tags($_POST['mess']). "</td></tr>"; 
      $message .= "</table>"; 
      $message .= "</body></html>"; 

      $headers = "MIME-Version: 1.0\r\n"; 
      $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
      $headers .="From:".$email;//can add $headers="Cc:".$email; 

      $mail = mail($to,$subject,$message,$headers); 

      if(isset($mail)) 
      { 
       ?> 
       <script> 
        alert('Mail Sent'); 
       </script> 
      <?php 
      } 
      else 
      { 

       ?> 
       <script> 
        alert('Mail Sending Failed'); 
       </script> 
      <?php 
      } 
     } 
    } 
?> 
+0

你檢查了答案嗎? –

相關問題