2017-08-08 51 views
0

對不起,這個愚蠢的問題(我剛剛開始),但我不明白爲什麼我的PHP腳本的手機領域不會出現在我收到的電子郵件。我已經在工作正常的情況下在HTML中添加了字段,如果手機字段爲空,錯誤消息的效果很好,但如果我運行它,我收到的電子郵件將不包含該字段。郵件腳本不會發送每一個字段

這裏是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 
} 
?> 

提前感謝!

+4

也許是因爲'$ phone'沒有任何地方使用? – Machavity

+0

該電子郵件正則表達式將拒絕大量完全有效的地址,例如'example + address @ gmail.com'和'example @ some.museum'。 – tadman

+1

是的,'$ phone'永遠不會成爲'$ message'的一部分 –

回答