所以我在这个页面上工作:http://sitesdemo.mghospedagem.com/ivam-entregas/3/33209.html
我正面临一个问题:
它使用SMTP将数据发送到电子邮件,但是发送的唯一数据来自“Nome”和“Email”字段。其他字段“EndereçodePartida”,“EndereçodeChegada”和“DetalhesdoServiço”在提交时都是空的。
哪个php代码是:
<?php
/*
* Vinteum Desenvolvimento
* tiago@vinteum.com
*/
require_once('PHPMailer_5.2.1/class.phpmailer.php');
$nome = $_POST['nome'];
$email = $_POST['email'];
$msg = $_POST['txtDetalhes'];
$end1 = $_POST['1'];
$end2 = $_POST['txtEnderecoChegada'];
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
$body .= "<h2>Pedido de orçamento para entrega</h2>";
$body .= "Nome: $nome <br>";
$body .= "E-mail: $email <br>";
$body .= "<br>";
$body .= "Mensagem: <br> $msg";
$body .= $msg;
$body .= "<br>";
$body .= "Endereço de partida: $end1 <br>";
$body .= "Endereço de chegada: $end2 <br>";
$body .= "<br>";
$body .= "----------------------------";
$body .= "<br>";
$body .= "Enviado em <b>".date("h:m:i d/m/Y")." por ".$_SERVER['REMOTE_ADDR']."</b>"; //Mostra data e Endereço IP
$body .= "<br>";
$body .= "----------------------------";
$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 587; // set the SMTP server port, geralmente porta 25 ou 587
$mail->Host = "mail.xxxxxxx.com"; // SMTP server
$mail->Username = "test@xxxxxxxx.com"; // SMTP server username
$mail->Password = "xxxxxxxxx"; // SMTP server password
//$mail->IsSendmail(); // tell the class to use Sendmail
$mail->AddReplyTo($email, $nome); //Responder para
$mail->From = $email; //De E-mail
$mail->FromName = $nome; //De Nome
$to = "myemail@hotmail.com"; //Para
$mail->AddAddress($to);
$mail->Subject = "Orçamento para entrega"; //Assunto
$mail->AltBody = "Para ver essa mensagem utilize um cliente com suporte HTML!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap
$mail->MsgHTML($body);
$mail->IsHTML(true); // send as HTML
$mail->Send();
echo 'Mensagem enviada com sucesso.<br><a href="33209.html">VOLTAR</a><br />';
echo $end1;
//retorno (html) devolvido para o ajax caso sucesso
} catch (phpmailerException $e) {
echo $e->errorMessage(); //retorno devolvido para o ajax caso erro
}
?>
以下是HTML和Javascript代码:
答案 0 :(得分:1)
您发送的数据是:
var urlData = "&nome=" + nome + "&email=" + email + "&msg=" + msg + "&end1=" + end1 + "&end2=" + end2;
然后尝试从txtDetalhes
抓取txtEnderecoChegada
和$_POST
,但这并不存在。您应该使用$_POST['end1']
和$_POST['end2]
代替。
小提示:尝试使用var_dump($_POST);
查看其内容。它真的很有用。
答案 1 :(得分:0)
试试这个。在你的sendmailivam.php中。试着看看Ravan的答案。
<?php
/*
* Vinteum Desenvolvimento
* tiago@vinteum.com
*/
require_once('PHPMailer_5.2.1/class.phpmailer.php');
$nome = $_POST['nome'];
$email = $_POST['email'];
$msg = $_POST['msg'];
$end1 = $_POST['end1'];
$end2 = $_POST['end2'];