我是一個初學者php
,發現一個簡單的郵件功能。以下是代碼:郵件()不返回任何值PHP
private function sendEmail() {
$to = $this - > email;
$subject = $this - > subject;
$message = $this - > name. " : ". $this - > message;
$header = "From: ".$this - > email;
$mail = mail($to, $subject, $message, $header);
echo $to, $subject, $message, $header, $mail, "End";
if ($mail) {
$this - > response_status = 1;
$this - > response_html = 'Thank You!';
} else {
echo "Mail not found";
}
}
當我把它從Javascript,它總是在土地的$.ajax
錯誤塊,但沒有錯誤消息,則拋出。當我檢查網絡選項卡中ajax調用的響應時,我得到所有變量($ to,$ subject,$ name,$ message,$ header)的正確值,但$mail
始終爲空。
我還得到郵件未找到從其他塊。
任何人都可以指向正確的方向嗎?
我在XAMPP的本地主機上運行它(在Ubuntu 15.10上)。
以下是響應的快照:
它可能是['false'而不是空白](https://3v4l.org/XOofE)。使用['var_dump()'](http://php.net/manual/en/function.var-dump.php)來調試它,看看它包含了什麼。 – PeeHaa
你沒有告訴我們你是如何從Ajax調用它的。這是一個單獨的問題。在PHP中,$ mail的值將是真或假。你在函數中返回「未找到郵件」的塊的事實表明它返回false。 – ADyson
所以這裏的實際問題是這個代碼正在被你的javascript中的錯誤塊處理嗎?顯示你的Javascript,然後...此外,這個函數不返回任何東西。也許這是你的錯誤,但我們不能說,因爲我們沒有足夠的代碼 – WillardSolutions