İndeks.html'ye yerleştirilmiş bir html iletişim formum var ve bir posta gönderen bir mail.php dosyasına sahibim. JavaScript. Formu doldurup gönderdiğimde, postayı göndermek için kodladım ve sonra bir başarı iletisi kutusuyla açılır ve sonra yeniden index.html'ye yönlendirir.Gönderildikten sonra başarılı bir şekilde HTML formunun değiştirilmesi, form ayrı bir php dosyası kullanarak posta gönderir
Neyi beğenmek, sayfanın yenilenmesini önlemek ve ayrıca açılır ileti kutusundan kaçınmak için formun başarı iletisiyle değiştirilmesidir. içerik.html'ini
formu:
<form action="mail.php" method="POST">
<div class="row uniform">
<div class="6u 12u$(xsmall)">
<input type="text" name="name" id="name" value="" placeholder="Name" />
</div>
<div class="6u$ 12u$(xsmall)">
<input type="email" name="email" id="email" value="" placeholder="Email" />
</div>
<div class="12u$">
<!--<div class="select-wrapper">
</div>-->
</div>
<div class="12u$">
<textarea name="message" id="message" placeholder="Enter your message" rows="6"></textarea>
</div>
<center><div class="g-recaptcha" data-sitekey=""></div></center>
<div class="12u$">
<ul class="actions">
<li><input type="submit" value="Send Message" class="special" /></li>
<li><input type="reset" value="Reset" /></li>
</ul>
</div>
</div>
</form>
php dosyası, e-posta adresi ve nedenlerle kaldırıldı recaptcha jetonu:
<?php $name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent = "From: $name \n email: $email \n Message: $message";
$recipient = 'email address here';
$subject = 'Message from Website';
$mailheader = "From: $email \r\n";
$captcha;
{
if(isset($_POST['g-recaptcha-response']))
{
$captcha=$_POST['g-recaptcha-response'];
}
if(!$captcha)
{
echo '<script language="javascript">';
echo 'alert("Please check the Captcha")';
echo '</script>';
exit;
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false)
{
echo '<h2>Please do not try and spam here.</h2>';
}else
{
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo '<script language="javascript">';
echo 'alert("Your Message successfully sent, we will get back to you ASAP.");';
echo 'window.location.href="index.html";';
echo '</script>';
}
} ?>
Bu aslında baktım bir konudur:
Clear form after submit and success message
sadece FYI: 'data.message' undefined olacak,' data 'kendisi bir string olacaktır -' 'Mesajınız başarıyla gönderildi, size en kısa sürede geri döneceğiz. '' – Pogrindis
oops .. biçimlendirilmiş json ... Teşekkürler, cevabımı güncelleyeceğim. –
@SumitPandey Cevabınızı denemekle ilgileniyorum, hunijkah tarafından gönderilen cevabı uygularım ancak hata kontrolü ile ilgili bir hata var, sorunun ne olduğunu görmek için ona bakıyordum ama Ajax’a yeni jQuery. Php dosyamda tüm hata denetimi zaten vardı, bu yüzden php dosyasının hala bunu halledeceğini düşündüm. Cevabınız çözümümü çözecek mi? Bu işe sahip olmak için çok yakınım ancak hata denetimi, kelimenin tam anlamıyla yoldaki tek çarpmadır, eğer form doğru şekilde doldurulursa, mükemmel çalışır. – Troy