Отправка форм HTML / PHP (что делать после)

Первый вопрос здесь, поэтому, пожалуйста, будьте терпеливы со мной.

Я занимаюсь разработкой сайта для своей компании. У меня есть HTML-форма, которая использует php-файл для отправки мне по электронной почте данных, введенных пользователем. Но пользователь перенаправляется на некрасивую страницу .php с простым сообщением «Спасибо».

Мой вопрос состоит из нескольких частей.

  1. Является ли стандартным наличие страницы «Успешная подача», которая выглядит красиво и красиво, или это нормально — просто оставаться на странице, на которой находится форма?
  2. Если все нормально, как мне выполнить php-код для отправки данных, не покидая страницу?
  3. Кроме того, если я останусь на странице, как отобразить на ней сообщение с надписью «Спасибо, ваша форма была отправлена»?

1

Решение

Учитывая вопрос 1
Является ли стандартным наличие страницы «Успешная подача», которая выглядит красиво и красиво, или это нормально — просто оставаться на странице, на которой находится форма?

Не обязательно иметь отдельную страницу для отображения ответа конечному пользователю. На самом деле это зависит от сценария, для которого вы разрабатываете страницу. Основное намерение состоит в том, чтобы обеспечить лучший пользовательский интерфейс для конечных пользователей / посетителей вашего сайта. Если есть некоторая важная информация с большим содержанием, то лучше показать ее на другой странице после отправки формы. Если это просто сообщение об успешном завершении, тогда можно остаться на той же странице после отправки формы и показать там ответное сообщение.

Теперь перейдем к вопросу 2 и 3

Если все нормально, как мне выполнить php-код для отправки данных, не покидая страницу?

Кроме того, если я останусь на странице, как отобразить на ней сообщение с надписью «Спасибо, ваша форма была отправлена»?

Вы можете сделать это, используя ajax. С помощью jquery вы можете сделать это намного проще, используя

функция $ .ajax

Пример:

$("#formbutton").click(function(){
$.ajax({
type: "POST", // method
url: "savecontact.php", // call to external php file
data: {name:n,contact:c}, // passing variables to php file

success: function(result) {

// get the response after ajax call is successful
},
complete: function(result){

}
});
});

Теперь в savecontact.php вы пишете необходимый код (обычный php-код для вставки в таблицу), чтобы сохранить данные и вернуть ответ.

Пример:

result = mysqli_query("INSERT INTO table (NAME ) VALUES ('val')"));
if($result)
{
echo "Success";
exit;
}
else
{
echo "Error";
exit;
}

После выполнения вызова ajax, внутри функции success вызова ajax вы получите ответ либо Success, либо Error, и на основании этого вы можете отобразить сообщение в пустой div, который обычно располагается над формой.

success: function (response) {

if(response == "Success"){
$("#div").html("Thanks, your form was submitted");
}
else{
$("#div").html("Issue with form submission.Please try again");
}
}

Соответствующее сообщение будет отображаться после отправки формы в виде ответа ajax.

1

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

  1. Является ли стандартным наличие страницы «Успешная подача», которая выглядит красиво и красиво, или это нормально — просто оставаться на странице, на которой находится форма?

Ответ: Будет хорошо, если ты покажешь Спасибо !!! сообщение на той же странице, если страница также имеет другой контент.

  1. Если все нормально, как мне выполнить php-код для отправки данных, не покидая страницу?

Ответ: Вы можете использовать AJAX для отправки асинхронного запроса на сервер с данными, заполненными в форме.

3. Кроме того, если я останусь на странице, как отобразить на ней сообщение с надписью «Спасибо, ваша форма была отправлена»?

Ответ: Как только вы получите успешный ответ от AJAX, вы можете изменить HTML-код с помощью сообщения «Спасибо», и, если у вас возникнет ошибка при отправке формы, вы можете показать эту ошибку на той же странице без обновления страницы.

0

Обычно это зависит от ваших предпочтений.

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

value=<?php if isset($_SESSION['var_name']){echo $_SESSION['var_name'];}?>

Однако, если данные верны, я выполню определенные действия (вставка базы данных, рассылка и т. Д.) Перед перенаправлением на мою целевую страницу (обычно на домашнюю страницу).

Как правильно ответить на ваши 3 вопроса:

  1. Как я уже сказал, это льготный. Он может варьироваться от простого всплывающего окна до перенаправления, до полноценной страницы. Тем не менее, это стандартно информировать вашего пользователя о статусе представления. Он не будет делать угадайку на твоей странице.

  2. Если вы хотите остаться на своей странице формы, попробуйте отправить вашу форму через AJAX на ваш сценарий проверки. Красиво и просто

  3. Обратитесь к № 2. Вы выполняете свой код в фрагменте AJAX

0

  1. Да, вы можете использовать ту же страницу, на которой вы собираетесь отправить форму.
  2. Вы можете установить действие для другой страницы .php в качестве примера sendEmail.php

    action = «sendEmail.php» method = «post»

    и вы можете получить форму отправки значения там. Когда письмо отправлено, вы можете поставить условие, как это

    if (emailSent == true) {
    заголовок ( ‘Location: http://www.example.com/index.php?success=true«);
    }

  3. когда sendEmail.php перенаправляет на страницу индекса, вы можете получить значение URL, используя php. И отобразить сообщение об успехе

    $ paraVal = $ _GET [«success»];
    if ($ paraVal == true) {
    // отображаем сообщение
    }

0
По вопросам рекламы [email protected]