フォーム データの送信に使用している基本的な連絡先 PHP スクリプトに問題があります。問題のページ。
私の PHP はかなり制限されていますが、私の構文では問題になる可能性のある明らかなものを見つけることができません。
スクリプトはいくつかの基本的なエラー チェックを行い、結果を変数 $error に格納します。
if($email && !ValidateEmail($email))
{
$error .= 'Invalid E-mail !!!';
}
そして問題のPHP:
if(!$error)
{
$mail = mail(WEBMASTER_EMAIL, $subject, $message,
"From: ".$name." <".$email."> \r\n"
."Subject: BOOKING FORM SUBMISSION \r\n"
."X-Mailer: PHP/".phpversion());
if($mail)
{
echo 'OK';
}
else {
echo 'Mail called, no mail';
}
}
else
{
echo '<div class="notification_error">'.$error.'</div>';
}
}
bob@hj を電子メールとして入力すると、PHP スクリプトがこのエラーを認識し、スクリプトから「無効な電子メール」という応答が返されるので、インスペクタでページを見て、フォーム データがスクリプトに送信されていることを確認できます。データが正しく解析されていることを示しています。
エラーがない場合、応答は「メールが呼び出されましたが、メールは送信されませんでした」なので、呼び出している mail() 関数に何か問題があると思います。
同じ結果が得られるフィールドからのストレートとしてヘッダーを単純化しようとしました。
何か案は?スタックの素晴らしいコミュニティに感謝します。
スクリプトを呼び出すために使用するjqueryを含める価値があるかもしれないと考えましたが、PHPの応答「メールが呼び出されましたが、メールはありません」を考えると、問題の原因はjQueryではないと推測します..
jQuery("#booking-form").submit(function(){
_CONTACT = jQuery(this);
var str = _CONTACT.serialize();
jQuery.ajax({
type: "POST",
url: "basic_booking_form/booking.php",
data: str,
success: function(msg){
jQuery(document).ajaxComplete(function(event, request, settings){
if(msg == 'OK') {
result = '<div class="notification_ok">Your message has been sent Succesfully. Thank you.</div>';
jQuery("#fields").hide();
_CONTACT.hide();
_CONTACT.html(result).slideDown("slow");
_CONTACT.html(result);
}
else {
result = msg;
_CONTACT.find('#note').html(result).slideDown("slow");
}
});
}
});
return false;
});