2015-06-01 3 views
0

У меня ОЧЕНЬ мало опыта работы с PHP.PHP Контактная форма не по электронной почте всех полей

Я проверяю контактную форму для этого веб-сайта. Я получаю только поля «тема, сообщение и заголовок» в письме.

Мне нужны поля телефона и имени, которые будут показаны в моем сообщении электронной почты.

Что я делаю неправильно?

Любая помощь приветствуется - спасибо!

<?php 

    $name;$email;$message;$captcha;$telephone; 
    if(isset($_POST['name'])){ 
     $name=$_POST['name']; 
    }if(isset($_POST['email'])){ 
     $email=$_POST['email']; 
     }if(isset($_POST['telephone'])){ 
     $telephone=$_POST['telephone']; 
    }if(isset($_POST['message'])){ 
     $message=$_POST['message']; 
    }if(isset($_POST['g-recaptcha-response'])){ 
     $captcha=$_POST['g-recaptcha-response']; 
    } 
    if(!$captcha){ 
     echo '<h2>Please check the the captcha form. <a href=http://www.website.com#contact/>Back to Form</a></h2>'; 
     exit; 
    } 
    $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LcYjgcT****q9vhur7iH_O4dZPl4xUAVwW8=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']); 
    if($response.success==false) 
    { 
     echo '<h2>You are spammer ! Get the @$%K out</h2>'; 
    }else 
    { 
    // Checking For Blank Fields.. 
if ($_POST["name"] == "" || $_POST["email"] == "" || $_POST["telephone"] == "" || $_POST["message"] == "") { 
    echo "Fill All Fields.."; 
} else { 
    // Check if the "Sender's Email" input field is filled out 
    $email = $_POST['email']; 
    // Sanitize E-mail Address 
    $email = filter_var($email, FILTER_SANITIZE_EMAIL); 
    // Validate E-mail Address 
    $email = filter_var($email, FILTER_VALIDATE_EMAIL); 
    if (!$email) { 
     echo "Invalid Sender's Email"; 
    } else { 
     $to = '[email protected]'; 
     $subject = 'Contact Form'; 
     $message = $_POST['message']; 
     $name = $_POST['name']; 
     $headers = 'From:' . $email . "\r\n"; 
     // Sender's Email 
     // Message lines should not exceed 70 characters (PHP rule), so wrap it 
     $message .= "\r\n Name: " . $name; 
     $message .= "\r\n Email: " . $email; 
     $message .= "\r\n Telephone: " . $telephone; 
     $message .= "\r\n Message: " . $message; 
     // Send Mail By PHP Mail Function 
     if (mail($to, $subject, $message, $headers)) { 
      echo "Your mail has been sent successfully!<a href=http://wwwwebsite.com>Back</a>"; 
     } else { 
      echo "Failed to send email, try again."; 
      exit ; 
     } 
    } 
} 

} ?>

+0

вам нужно добавить значение поля 'name' и' phone' в поле 'message'. вы никогда не использовали эту переменную нигде в своей «почте», так как вы ее получите. –

+0

[Отправить электронное письмо с PHP из html-формы] [1] Надеемся, что это поможет вам. С уважением [ссылка]: (http://stackoverflow.com/questions/18379238/send-email-with-php-from-html-form-on-submit-with-the-same-script) –

+0

Спасибо ваша ссылка заставила меня указывать в правильном направлении. –

ответ

0

$message переменная содержание почты, который будет отправлен на ваш адрес, добавьте значения, которые вы хотите получить в письме к этой переменной.

так: (так как вы не используете HTML почту, я думаю)

$message .= "\r\n Name : " . $name; 
$message .= "\r\n Email : " . $email; 

и т.д ..

Перед тем, как вызвать функцию mail.

ТАКЖЕ:

Вы хотите добавить номер телефона, электронная почта и сообщение в вашей $email переменной. вы должны дать им свою собственную переменную.

+0

Спасибо, Это помогло. Теперь я получаю двойную копию всего. Любая идея почему? Я обновил код выше. Спасибо –

Смежные вопросы