私はphp
の初心者で、簡単なメール機能を発見しました。コードは次のとおりです。私はJavascriptからそれを呼び出すとmail()は値を返さない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";
}
}
、それは常に$.ajax
のエラーブロックに土地が、エラーメッセージは、それがスローされません。ネットワークタブでajax呼び出しの応答を調べると、すべての変数($ to、$ subject、$ message、$ message、$ header)の値が正しく取得されますが、$mail
は常に空白です。
また、メールが届かない他のブロックから。
誰でも正しい方向に向けることができますか?
私はXAMPP(Ubuntu 15.10上)のlocalhost上で実行しています。
おそらく、空白ではなく「偽」です(https://3v4l.org/XOofE)。 ['var_dump()'](http://php.net/manual/en/function.var-dump.php)を使ってデバッグして、その内容を確認してください。 – PeeHaa
あなたは私たちにAjaxからどのように呼び出すのかを教えてくれませんでした。それは別の問題です。 PHPでは、$ mailの値はtrueまたはfalseのいずれかになります。あなたがあなたの関数のブロックに入って "mail not found"を返すという事実は、それがfalseを返すことを示唆しています。 – ADyson
実際の問題は、このコードがJavaScriptのエラーブロックによって処理されているということです。あなたのJavascriptを表示し、次に...この関数は何も返さない。たぶんそれはあなたのエラーですが、十分なコードがないので私達にはわかりません – WillardSolutions