2016-04-14 13 views
0

ajax isteği ile ilgili bir sorunum var.
İki girdi ve bir textarea ve ajax işlevi olan bir form var, üç girdinin mail.php adlı başka bir sayfaya gönderir, sonra mail.php bu verilerle bir e-posta gönderir ve 1 döndürürse e-posta doğru gönderilmediyse ve 0 değilse. Bu çalışır ama gelen e-postada metin tek bir satırda da 3 veya 4 satır var ben de textarea var. Bu biçimidir:AJAX sadece bir satır içinde metin gönderin

<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> 

Ve bu ajax fonksiyonu:

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(); }); 

Ve mail.php 'yi şu şekildedir:

$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'); 
} 

metni almak bir yöntem var mı Yazdığım ve gönderdiğim gibi?

+0

, sen '$ enjekte etmek istemiyoruz _POST, öncelikle posta gövdesinde, önce dezenfekte etmeden. –

+0

kullanmak istiyorum

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

+0

@ moonwave99 Peki ne yapmalıyım? – Francesco

cevap

3

kullanım nl2br()

Eğer hala nl2br() http://php.net/manual/en/function.nl2br.php
+0

Mükemmel! Teşekkür ederim! – Francesco