联系表格(PHP和Ajax):如何在电子邮件上打印数据?

时间:2014-03-21 00:20:21

标签: php ajax

我是PHP的新手,我很难理解如何在电子邮件上打印数据。

我需要将所有数据发送到我的电子邮件,如下所示:

Nome:向我显示在字段中写的名称

电子邮件:向我显示在该字段中写的电子邮件

Telefone:向我显示在字段中写入的电话号码

Mensagem:向我显示在字段中写入的消息

现在它只发送给我姓名和信息,而且没有我需要的“标签”Nome和Mensagem。

我怎样才能做到这一点?

表格:http://baskra.com/teste/teste.html

PHP:

<?php

header('Content-Type: text/html; charset=UTF-8');

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

    $to_Email       = "giovanna.coppola@yahoo.com"; //Replace with recipient email address
    $subject        = 'Formulário de Contato (Site)'; //Subject line for emails

    //check $_POST vars are set, exit if any missing
    if(!isset($_POST["userName"]) || !isset($_POST["userEmail"]) || !isset($_POST["userPhone"]) || !isset($_POST["userMessage"]))
    {
        die();
    }

    //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)<6) // If length is less than 6 it will throw an HTTP error.
    {
        header('HTTP/1.1 500 Nome muito curto ou campo vazio.');
        exit();
    }
    if(!filter_var($user_Email, FILTER_VALIDATE_EMAIL)) //email validation
    {
        header('HTTP/1.1 500 Insira um e-mail válido.');
        exit();
    }
    if(!is_numeric($user_Phone)) //check entered data is numbers
    {
        header('HTTP/1.1 500 Esse campo só aceita números.');
        exit();
    }
    if(strlen($user_Message)<10) //check emtpy message
    {
        header('HTTP/1.1 500 Mensagem curta demais.');
        exit();
    }

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


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

    if(!$sentMail)
    {
        header('HTTP/1.1 500 Não foi possível enviar. Tente novamente.');
        exit();
    }else{
        echo 'Olá, '.$user_Name.'. Agradecemos o contato! ';
        echo 'Retornaremos o mais breve possível.';
    }
}
?>

1 个答案:

答案 0 :(得分:0)

$message = 'Nome: '.$user_Name."\r\n".
           'E-mail: '.$user_Email."\r\n".
           'Telefone: '.$user_Phone."\r\n".
           'Mensagem: '.$user_Message;
$sentMail = mail($to_Email, $subject, $message, $headers);