Вы можете отправить форму без обновления страницы, но, насколько мне известно, это невозможно без использования JavaScript / AJAX-вызова PHP-скрипта на вашем сервере. В следующем примере используется библиотека JavaScript jQuery .
HTML
<form method = 'post' action = '' id = 'theForm'>
...
</form>
Java Script
$(function() {
$("#theForm").submit(function() {
var data = "a=5&b=6&c=7";
$.ajax({
url: "path/to/php/file.php",
data: data,
success: function(html) {
.. anything you want to do upon success here ..
alert(html); // alert the output from the PHP Script
}
});
return false;
});
});
После отправки будет вызвана анонимная функция Javascript, которая просто отправляет запрос в ваш PHP-файл (который должен быть в отдельном файле, кстати). data
выше должно быть строкой запроса в кодированном URL-адресе, которую вы хотите отправить в файл PHP (в основном все текущие значения полей формы). Они появятся на вашем серверном PHP-скрипте в суперглобальном $_GET
. Пример ниже.
var data = "a=5&b=6&c=7";
Если это ваша строка данных, тогда PHP Script будет выглядеть так:
echo($_GET['a']); // 5
echo($_GET['b']); // 6
echo($_GET['c']); // 7
Однако вам нужно будет построить данные из полей формы, как они существуют для вашей формы, например:
var data = "user=" + $("#user").val();
(Вам нужно будет пометить каждое поле формы идентификатором, вышеуказанный идентификатор - «пользователь».)
После запуска сценария PHP вызывается функция success
, и все выходные данные, созданные сценарием PHP, сохраняются в переменной html
.
...
success: function(html) {
alert(html);
}
...