2017-09-07 69 views
0

請理解我非常清楚類似的問題已經發布在此處。我已經嘗試了一切來解決這個問題。這讓我瘋狂。一切工作正常,除了這一個問題:非常簡單的HTML/PHP表單問題

用戶填寫聯繫表並提交。然後表格完美地發送到我的服務器的電子郵件。但是,電子郵件的內容不存在。基本上,就好像我的變量沒有存儲任何數據。請看下面的屏幕截圖。

The email in the inbox

的圖像顯示,受正常工作和對工作正常,但以下變量不起作用:

$name = $_POST['name']; 
$number = $_POST['number']; 
$email = $_POST['email']; 
$yourmessage = $_POST['yourmessage']; 

請參閱我的HTML和PHP代碼的下方。

PHP

<?php 

$to = 'HIDDEN.co.uk'; 
$subject = 'New message from customer'; 

$name = $_POST['name']; 
$number = $_POST['number']; 
$email = $_POST['email']; 
$yourmessage = $_POST['yourmessage']; 

$body = <<<EMAIL 

Hello. 
<br><br> 
Name: $name. 
<br> 
Telephone: $number. 
<br><br> 
$yourmessage 

EMAIL; 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 
$headers .= 'From: ' .$email. "\r\n"; 

mail($to,$subject,$body,$headers); 
header("location:../../../.../index.html"); 

?> 

HTML

<form action="glossary/js-blueprints/js-contact-form/js-contact-form.php./" method="post" id="contact-form" class="contact-form"> 

        <div class="row"> 
         <div class="col-md-6"> 
         <div class="form-group"> 
          <input type="text" class="form-control" name="name" autocomplete="off" id="name" placeholder="Full name"> 
         </div> 
        </div> 

         <div class="col-md-3"> 
         <div class="form-group"> 
          <input type="number" class="form-control" name="number" autocomplete="off" id="number" placeholder="Telephone number"> 
         </div> 
         </div>      

         <div class="col-md-3"> 
         <div class="form-group"> 
          <input type="text" class="form-control" name="email" autocomplete="off" id="email" placeholder="Email Address"> 
         </div> 
         </div> 

        </div> 

        <div class="row"> 
         <div class="col-md-12"> 
         <div class="form-group"> 
          <textarea class="form-control textarea" rows="3" name="yourmessage" id="yourmessage" placeholder="Your message..."></textarea> 
         </div> 
         </div> 
        </div> 

        <div class="row"> 
        <div class="col-md-12"> 
        <button type="submit" class="btn main-btn pull-right">Send a message</button> 
        </div> 
        </div> 
       </form> 

感謝您抽出時間來幫助這些對於新手,像我一樣。

劉易斯。

+0

你可以做echo print_r($ _ POST),這樣我們就可以看到post數組的內容了嗎? – victor

+2

或者它實際上可能只是print_r($ _ POST) – victor

+0

我將echo print_r($ _ POST)添加到了我的PHP底部,但它沒有產生任何東西。 –

回答

0

您的標頭格式不正確。另外,你的$ body格式非常好。並且爲了更好的衡量,您需要解析試圖通過電子郵件發送給您的數據。 IE,應該設置一個名稱和電子郵件?如果它是經過驗證的電子郵件,這有什麼關係嗎?通常情況下,您只需在發送電子郵件或存儲數據之前進行此類檢查。

$body = "Hello.<br /><br /> 
Name: " . $name . "<br /> 
Telephone: " . $number . "<br /><br /> 
" . $yourmessage; 

$headers = "MIME-Version: 1.0 \r\n"; 
$headers .= "Content-type: text/html; charset=utf-8 \r\n"; 
$headers .= "From: " . $email . "\r\n"; 
+1

您的代碼中有語法錯誤。看到突出顯示。 – Qirel

+0

OP的標題有什麼問題?我沒有看到區別。 – showdev

+0

謝謝你的回覆。這似乎沒有解決我的問題。謝謝。你有什麼建議嗎? –