私は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');
}
テキストを取る方法があります私はそれを書いて送っていますか?
、あなたは '$を注入する必要はありません_POST'をメール本文に直接入れることはできません。 –
を使用したい
– moonwave99@ moonwave99どうすればいいですか? – Francesco