2013-05-17 6 views
-2

AJAX를 사용하여 전자 메일로 양식을 보내려고합니다. 문제점 : 전자 메일을받지 못합니다. 것을 제외 : 폼 퓨론 그냥 무시 텍스트 부분이다)양식을 전자 메일로 보내기

index.html을

... 
<head> 
<script src="scripts/jquery.min.js"></script> 
<script type="text/javascript" src="scripts/javascript.js"></script> 
</head> 

<form id="ajax_form" action=""> 
<div class="contentformleft" align="left"> 
<font size="4" >Nome :</font></br> 
<input type="text" required name="nome" size="60"><br><br> 
<font size="4" >E-mail :</font></br> 
<input type="text" required name="email" size="60"><br><br> 

<font size="4" >Curso :</font><br> 
<select name="cursos" style="width: 395px" class="auto-style1"> 
<option>Sistemas de Informação</option> 
</select><br><br> 

<font size="4" >Turno :</font> </br> 
<font size="3"> 
<input type="radio" name="turno" value="1"></input>Manha 
<input type="radio" name="turno" value="2"></input>Noite<br> 
</font></br> 

<font size="4" >Área de Interesse<font size="2" >(max 2)</font> : </br> 
<input type="checkbox" name="interesse" /> CIO<br /> 


<input type="checkbox" name="interesse" /> Hardware<br /> 
<input type="checkbox" name="interesse" /> Sistemas Empresariais<br /> 
      <input type="checkbox" name="interesse" /> Redes Sociais e Mobile< 

br /> 

    <input id="Send" class="btn" type="submit" value="Enviar"></input> 
    <font size="3" color="red">As Inscrições comecaram dia 26</font> 
    </form> 
... 
<script src="scripts/jqueryscript.min.js"></script> 
    ... 

jqueryscript.min.js

... 
$(document).ready(function() { 
    jQuery('#ajax_form').submit(function(){ 
     var dados = jQuery(this).serialize(); 

     jQuery.ajax({ 
      type: "POST", 
      url: "sender.php", 
      data: dados, 
      success: function(data) 
      { 
       alert(data); 
      } 
     }); 

     return false; 
    }); 
... 

sender.php

<?php 
    $nome = $_POST['nome']; 
    $email = $_POST['email']; 
    $curso = $_POST['cursos']; 
    $turno = $_POST['turno']; 
    $interesse = $_POST['interesse']; 

    $mensagem = '<html><body>'; 
    $mensagem .= '<h1 style="font-size:15px;">Formulario :</h1>'; 
    $mensagem .= '<table style="border-color: #666; font-size:11px" cellpadding="10">'; 
    $mensagem .= '<tr style="background: #eee;"><td><strong>Nome:</strong> </td><td>' . $nome . '</td></tr>'; 
    $mensagem .= '<tr><td><strong>Email:</strong> </td><td>' . $email . '</td></tr>'; 
    $mensagem .= '<tr style="background: #eee;"><td><strong>Curso:</strong> </td><td>' . $curso . '</td></tr>'; 
    $mensagem .= '<tr><td><strong>Turno:</strong> </td><td>' . $turno . '</td></tr>'; 
    $mensagem .= '<tr style="background: #eee;"><td><strong>Interesse:</strong> </td><td>' . $interesse . '</td></tr>'; 
    $mensagem .= '</table>'; 
    $mensagem .= '</body></html>'; 

    $mail = new PHPMailer(); 
    $mail->SetFrom($email, $nome); 
    $mail->Subject = 'Inscrição NUTI'; 
    $mail->MsgHTML($mensagem); 
    $mail->AddAddress('[email protected]', 'Bruno'); 
    $mail->AddAddress($email, $nome); 
?> 

미리 감사드립니다.

추가 정보 : 양식이 발송되었다는 사실을 사용자에게 알리고 싶습니다. :)

+0

[Fiddler] (http://fiddler2.com/)와 같은 도구를 사용하여 요청 및 응답을 모니터링하면 문제가 어디에 있는지 알 수 있습니다. 데이터가 실제로 전송되는지 여부를 확인할 수 있습니다. –

답변

0

$mail->Send()을받지 않으면 이메일을받지 못할 것입니다!

$mail = new PHPMailer(); 
$mail->SetFrom($email, $nome); 
$mail->Subject = 'Inscrição NUTI'; 
$mail->MsgHTML($mensagem); 

$mail->AddAddress($email, $nome); 

if (!$mail->Send()) { 
    // PHPMailer Error! 
} 
else { 
    // Email sent! 
} 

은 BTW 당신은 ​​브라우저에 HTML-이메일을 반향하는 명령을 구현할 수있다, 그래서 당신은 테스트하고 그들이 (전송 및 이메일을 기다리지 않고)처럼 보이게하는 방법을 볼 수 있습니다.

관련 문제