сообщение спасибо вместо контактной формы

Я создал контактную форму и хочу, чтобы, когда пользователь отправил письмо, вместо контактной формы появилось сообщение «Ваше сообщение отправлено», оставаясь на той же странице, как я могу это исправить?

Вот мой код

<form method="post" action="" name="contact">
<div class="column">
<input name="name" id="name" placeholder="name" value=""/>
</div>
<div class="column-2">
<input name="email" id="email" placeholder="mail" value="" />
</div>
<div class="column-3">
<textarea id="message" placeholder="Your message" name="message" title="votre message" ></textarea>
</div>
<div class="button">
<span><input class="submit" id="submit" name="submit" type="submit" value="ENVOYER"></span>
</div>
</form>

Код PHP

<?php
if(!empty($_POST['name'])&&!empty($_POST['email'])&&!empty($_POST['message']))// check if everything has been filled out before doing anything else
{
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: test Contact';
$to = '[email protected]';
$subject = 'Hello';

$body = "From: $name\n E-Mail: $email\n Message:\n $message";

if ($_POST['submit']) {
if ($name != '' && $email != '') {

if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>
<span id="success">OK</span>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
}
}

?>

0

Решение

Вы должны использовать AJAX. Затем из вашего AJAX позвоните по вашему php-коду (вам нужно поместить ваш php в отдельную папку)

0

Другие решения

Если вы хотите получить его, вам нужно перенаправить страницу в случае успеха или неудачи на другую страницу. Я также немного изменил структуру вашего кода, потому что вам нужно сначала проверить, отправлена ​​ли форма.

Вот рабочий пример.

страница index.php

<?php
if (isset($_POST['submit'])) {
if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message'])) {// check if everything has been filled out before doing anything else
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: test Contact';
$to = '[email protected]';
$subject = 'Hello';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";

if ($name != '' && $email != '') {
if (mail($to, $subject, $body, $from)) {

header("Location: result.php?success=1");

} else {
header("Location: result.php?success=0");
}
} else {
echo "Name and Email not found";
}
} else {
echo "Please fill up all fields";
}
}
?>


<form method="post" action="" name="contact">
<div class="column">
<input name="name" id="name" placeholder="name" value=""/>
</div>
<div class="column-2">
<input name="email" id="email" placeholder="mail" value="" />
</div>
<div class="column-3">
<textarea id="message" placeholder="Your message" name="message" title="votre message" ></textarea>
</div>
<div class="button">
<span><input type="submit" class="submit" id="submit" name="submit"  value="ENVOYER"></span>
</div>
</form>

страница result.php

<?php
if (isset($_GET['success']) && $_GET['success'] == 1) {
echo '<p>Your message has been sent!</p><span id="success">OK</span>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
?>
0

У вас есть три варианта.

  • Используйте загрузочный модальный компонент для отображения сообщения.
  • Вызовите функцию PHP через AJAX.
  • Создайте две разные страницы (одна с
    контактная форма и другая с кодом PHP).
0
По вопросам рекламы [email protected]