2016-04-14 2 views
0

私はajaxリクエストに問題があります。
2つのテキスト入力と1つのtextareaと3つの入力のテキストをmail.phpという別のページに送信するajax関数を持つフォームを持っていれば、mail.phpはそれらのデータを含む電子メールを送り、1電子メールが正しく送信されていない場合は0が送信されました。それは動作しますが、到着した電子メールではテキストは1行にしかありませんが、テキストエリアに3行または4行がある場合もあります。 これは形式です:AJAXは1行にテキストを送信します

<div id="form"> 
    <input type="email" class="style" id="mail" maxlength="80" placeholder="Inserisci la tua e-mail" required /> 
    <br> 
    <input type="text" class="style" id="subject" maxlength="50" placeholder="Oggetto" required /> 
    <br> 
    <textarea id="message" class="style" placeholder="Scrivi il messaggio..." rows="8" maxlength="2000" required></textarea> 
    <br> 

    <button type="submit" id="submit_button"><div><p class="send_button_content">Invia</p><img id="send_button_icon" class="send_button_content" src="send_icon.png"></div></button> 
</div> 

そして、これは、Ajax機能である:

function sendEmail(){ 
       var mail; 
       var subject; 
       var message; 
       mail = $("#mail").val(); 
       subject = $("#subject").val(); 
       message = $("#message").val(); 
       if (mail !="" && subject !="" && message !="") { 
        if (emailCheck(mail)){ 
        $.post("mail.php",{mail: mail,subject: subject,message: message},function(data){alert(data);}); 
        }else{ 
         alert("The e-mail is not correct") 
        } 
       } else { 
         alert("Fill all"); 
       } 
      } 
       $("#submit_button").click(function(){sendEmail(); }); 

そしてmail.phpは、このようなものです:

$mail = $_POST['mail']; 
$subject = "Nuovo messaggio: ".$_POST['subject']; 
$message = "<html> 
     <head> 
     </head> 
     <body> 
     <p>New message from: ".$mail."<br> 
     Message: ".$_POST['message']."<br> 
     <a href='mailto:".$mail."?subject=".$_POST['subject']."' style='color:blue' target='_blank'>Reply here</a> 
     </p> 
     </body> 
     </html>"; 

if($mail != "" && $subject != "" && $message != ""){ 
    $to = "***********@gmail.com"; 
    $headers = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
    $result = mail($to,$subject,$message,$headers) or die('0'); 
    if(result){ 
     die('1'); 
    }else{ 
     die('0'); 
    } 
}else{ 
    die('0'); 
} 

テキストを取る方法があります私はそれを書いて送っていますか?

+0

、あなたは '$を注入する必要はありません_POST'をメール本文に直接入れることはできません。 –

+0

を使用したい

$message=nl2br($_POST['message']); 
moonwave99

+0

@ moonwave99どうすればいいですか? – Francesco

答えて

3

使用nl2br()

あなたはまだnl2br()http://php.net/manual/en/function.nl2br.php
+0

パーフェクト!ありがとうございました! – Francesco

関連する問題