0
愚かな質問を申し訳ありませんが(私はちょうど始めています)、PHPスクリプトの電話フィールドが私が受け取る電子メールに表示されない理由をよく理解できません。私はフィールドフィールドを空にしていればエラーメッセージがうまくいきますが、実行した場合、受信したメールにはフィールドが含まれません。ここでメールスクリプトはすべてのフィールドを送信しません
は、PHPのメールスクリプトは次のとおりです。事前に
<?php
require('email_config.php');
// sender information
$name = trim($_POST['name']);
$phone = trim($_POST['phone']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);
$error = "";
// check sender information
$pattern = "^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$^";
if(!preg_match_all($pattern, $email, $out)) {
$error = $invalid_email; // for invalid email
}
if(!$email) {
$error = $invalid_email; // for empty email field
}
if (!$phone) {
$error = $invalid_phone; // for empty phone field
}
if(!$message) {
$error = $invalid_message; // for empty message field
}
if (!$name) {
$error = $invalid_name; // for empty name field
}
// email header
$headers = "From: ".$name." <".$email.">\r\nReply-To: ".$email."";
if (!$error){
// sending email
$sent = mail($to_email,$subject,$message,$headers);
if ($sent) {
// if message sent successfully
echo "SEND";
} else {
// error message
echo $sending_error;
}
} else {
echo $error; // error message
}
?>
ありがとう!
をより多くを学ぶために? – Machavity
その電子メール正規表現は、 'example + address @ gmail.com'や' example @ some.museum'のような完全に有効なアドレスを大量に拒否します。 – tadman
うん、 '$ phone'は' $ message'の一部にはなりません –