2017-02-17 200 views
-2
<?php 
if($_POST) 
{ 
    $to_Email  = "[email protected]"; //Replace with recipient email address 
    $subject  = 'Fitnes Studio Elit novi mail'; //Subject line for emails 


    //check if its an ajax request, exit if not 
    if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') { 

     //exit script outputting json data 
     $output = json_encode(
     array(
      'type'=>'error', 
      'text' => 'Request must come from Ajax' 
     )); 

     die($output); 
    } 

    //check $_POST vars are set, exit if any missing 
    if(!isset($_POST["userName"]) || !isset($_POST["userEmail"]) || !isset($_POST["userPhone"]) || !isset($_POST["userMessage"])) 
    { 
     $output = json_encode(array('type'=>'error', 'text' => 'Input fields are empty!')); 
     die($output); 
    } 

    //Sanitize input data using PHP filter_var(). 
    $user_Name  = filter_var($_POST["userName"], FILTER_SANITIZE_STRING); 
    $user_Email  = filter_var($_POST["userEmail"], FILTER_SANITIZE_EMAIL); 
    $user_Phone  = filter_var($_POST["userPhone"], FILTER_SANITIZE_STRING); 
    $user_Message  = filter_var($_POST["userMessage"], FILTER_SANITIZE_STRING); 

    //additional php validation 
    if(strlen($user_Name)<4) // If length is less than 4 it will throw an HTTP error. 
    { 
     $output = json_encode(array('type'=>'error', 'text' => 'Name is too short or empty!')); 
     die($output); 
    } 
    if(!filter_var($user_Email, FILTER_VALIDATE_EMAIL)) //email validation 
    { 
     $output = json_encode(array('type'=>'error', 'text' => 'Please enter a valid email!')); 
     die($output); 
    } 
    if(!is_numeric($user_Phone)) //check entered data is numbers 
    { 
     $output = json_encode(array('type'=>'error', 'text' => 'Only numbers allowed in phone field')); 
     die($output); 
    } 
    if(strlen($user_Message)<5) //check emtpy message 
    { 
     $output = json_encode(array('type'=>'error', 'text' => 'Too short message! Please enter something.')); 
     die($output); 
    } 

    //proceed with PHP email. 
    $headers = 'From: '.$user_Email.'' . "\r\n" . 
    'Reply-To: '.$user_Email.'' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

    $sentMail = mail($to_Email, $subject, $user_Message .' -'.$user_Name, $headers); 

    if(!$sentMail) 
    { 
     $output = json_encode(array('type'=>'error', 'text' => 'Could not send mail! Please check your PHP mail configuration.')); 
     die($output); 
    }else{ 
     $output = json_encode(array('type'=>'message', 'text' => 'Hi '.$user_Name .'. Thank you for contacting us. We will be in touch with you very soon.')); 
     die($output); 
    } 

我有問題,用戶的手機號碼是不是來的電子郵件.. 我想:PHP腳本電子郵件不發送電話號碼?

$sentMail = mail($to_Email, $subject, $user_Message .' -'.$user_Name,$user_Phone, $headers); 

但是,當我嘗試,郵件不來anymore.Any幫助,我米沒有這樣的PHP。

+0

這是因爲您無法將電子郵件發送到手機號碼,您必須將其發送到號碼的運營商地址。對於某些移動網絡,我認爲這隻能起作用。看看使用API​​來實現這一點。 – KDOT

+2

如果'$ user_Phone'有一個值,請嘗試追加消息:'$ user_Message。=「 - 名稱:」。 $ user_Name。 「 - 電話: 」 。 $ USER_PHONE; ',然後發送郵件:'$ sentMail = mail($ to_Email,$ subject,$ user_Message,$ headers);' – JustBaron

+0

您的代碼中的哪個位置*您正在嘗試*發送電話號碼?完整的代碼完全不使用該值,單行樣本嘗試將其用作「mail()」函數的隨機參數。你認爲這個論點有什麼作用? – David

回答

1

用戶名和USERPHONE之間的逗號(,)使郵件是不同的充參數 你可以試試這個

$sentMail = mail($to_Email, $subject, $user_Message .' -'.$user_Name.$user_Phone, $headers); 
+0

之前構建'user_message'字符串會更明智謝謝,問題解決了! (y) – Tomaesp

+0

最受歡迎(y) –

1

附加您的消息第一:

$user_Message .= " - Name: " . $user_Name . " - Phone: " . $user_Phone;

然後發送郵件:

$sentMail = mail($to_Email, $subject, $user_Message, $headers);