Я внедряю контактную форму на свой сайт. Когда я нажимаю кнопку «Отправить», он отправляет мне электронное письмо, затем перенаправляет пользователя на domain.com/mail.php и повторяет «Электронное письмо отправлено»! на пустой белой странице. Вместо этого я хочу, чтобы пользователь оставался в index.html и отправил электронное письмо! эхом отозвалось внутри <div class="alert-msg"></div>
. Любая помощь приветствуется!
contact.php:
<?php
if(isset( $_POST['fname']))
$name = $_POST['fname'];
if(isset( $_POST['email']))
$email = $_POST['email'];
if(isset( $_POST['subject']))
$subject = $_POST['subject'];
if(isset( $_POST['message']))
$message = $_POST['message'];
$content="Name: $name \n Email: $email \n Subject: $subject \n Message: $message";
$recipient = "[email protected]";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $content, $mailheader) or die("Error!");
echo "Email sent!";
?>
index.html
<div class="contactcontainer">
<form action="contact.php" method="POST" id="contact-form">
<label for="fname">Full Name</label>
<input type="text" id="fname" name="fname" placeholder="Your name" required>
<label for="email">E-mail</label>
<input type="text" id="email" name="email" placeholder="E-mail" required>
<label for="email">Subject</label>
<input type="text" id="subject" name="subject" placeholder="Subject" required>
<label for="subject">Message</label>
<textarea id="message" name="message" placeholder="Your message" style="height:200px" required></textarea>
<button class="btn btn-outline-light text-uppercase" onclick="document.getElementById('contact-form').submit();" type="submit" name="submit" id="submit">submit</button>
<div class="alert-msg"></div>
</form>
</div>
Страница После нажатия кнопки «Отправить»: Электронное письмо отправлено! на пустой странице с URL
preg_replace
- гораздо более надежная (хотя и сложная) альтернатива. 21.09.2020PHP Notice: Undefined variable: con in /home/e31pb61nfazj/public_html/deniz.world/index.php on line 13 PHP Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in /home/e31pb61nfazj/public_html/deniz.world/index.php on line 13
для строк 13, 14, 15, 16. 21.09.2020strip_tags
также является крайне неразумной функцией замены, поскольку она также чревата ошибками. Вам также не нужно удалять теги HTML из электронной почты, отличной от HTML. АКА, используйтеpreg_replace
для удаления и уточнения кавычек 21.09.2020