2017-04-01 69 views
0

我已經創建了一個頁面,它將根據發送到該頁面的數據接收3個變量併發送電子郵件。但是當我從表單發送數據時,使用POST時會出現HTTP ERROR 500。 當使用GET方法時以及在URL中發送數據時,相同的代碼正在工作。什麼可能是錯誤?當使用POST方法時,PHP EMAIL Generation不起作用

<!doctype html> 
<html> 
<head> 
<title>MAIL</title> 
<meta charset="utf-8" /> 
<meta http-equiv="Content-type" content="text/html; charset=utf-8" /> 
<meta name="viewport" content="width=device-width, initial-scale=1" /> 
</head> 
<body> 
<div> 
<?php 


$emailTo=$_POST['to_address']; 
$subject=$_POST['subject']; 
$body="$_POST['body']; 
$headers="From: [email protected]"; 

if (mail($emailTo, $subject, $body, $headers)) { 

echo "Mail sent successfully!"; 

} else { 

echo "Mail not sent!"; 

} 


?> 
</div> 
</body> 
</html> 

回答

1

你在你的代碼一個錯字固定 關閉雙引號這一行:。

$body="$_POST['body'];

0

500表示內部服務器錯誤。大多數情況下源代碼存在錯誤。

開關

$body="$_POST['body']; 

$body=$_POST['body']; 

你應該真的逃不出你的郵件功能參數。看看這個答案:

escape mail fucntion

0

你在這裏有一個錯字 - > $身體=「$ _ POST [ '身體'];/*雙引號沒有關閉*/ 加:你應該真的檢查POST數據和消毒,因爲它不是在所有

+0

代碼是否運行正常THANK YOU SO很多 如何保護代碼?任何示例? 對不起。我是新手。 –

+0

你有很多這方面的帖子,從[SO - question]開始(http://stackoverflow.com/questions/18431250/how-to-secure-a-form-which-sends-out-emails) - >請閱讀更多的搜索後:)並接受兩個答案中的一個也請,它會被關閉 – OldPadawan