Я создаю форму и использую PHP для обработки запроса почтовому клиенту. Теперь, когда пользователь отправляет форму, я не хочу, чтобы страница обновлялась, и я не хочу, чтобы она возвращалась полностью вверх.PHP & Form Refresh
Я хочу, чтобы оно было отправлено, а затем опубликовано сообщение, которое я поставил, в том же месте, что и форма без обновления. Возможно, AJAX?
Вот код
PHP
<?php
error_reporting(0);
if(isset($_POST["submit"])) {
$name=$_POST['first_name'];
$email=$_POST['exampleInputEmail1'];
$description=$_POST['description'];
$toaddress = "[email protected]";
$subject = "Propective User";
$mailcontent = "Name: ".$name."\n".
"Customer Email: ".$email."\n".
"Customer Description:\n".$description."\n";
$fromaddress = "From: $name";
$messageaftersending = "Thank you, ".$name."! \n".
" You've signed up for something awesome. \n";
mail($toaddress, $subject, $mailcontent, $fromaddress);
$hidemydiv = "hide";
}?>
HTML
<span class="thanksmessage text-faded"><?php echo $messageaftersending ?></span>
<div class="<?php echo $hidemydiv ?>">
<div class="row">
<div class="formstyle">
<form role="form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" name="myemailform" method="post">
<div class="col-lg-4 labels">
<fieldset class="form-group">
<label class="labels" for="firstname">First Name*</label>
<input type="text" name="first_name" class="form-control styled" required pattern="[a-zA-Z0-9s\-\s]+" onkeyup="" id="firstname" pattern="[a-zA-Z0-9]+">
</fieldset>
<span class="error"><p id="name_error"></p></span>
</div>
Ваша интуиция верна. Если вы хотите опубликовать форму и прочитать ответ с сервера, не обновляя страницу или перемещаясь, вы должны заглянуть в AJAX – BeetleJuice
. Я рассмотрю это. Все еще довольно новый со всей обработкой. – ColeGauthier