При отправке html-формы не открывайте новую страницу, а отображайте всплывающее окно - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть форма с кнопкой отправки. Когда я нажимаю эту кнопку, я не хочу, чтобы меня перенаправляли на страницу connection.php, которая указана в action = "" . Но я уверен, что я хочу, чтобы он просто отображал всплывающее окно с надписью «успешно» или «не успешно», и позволил connection2.php делать свое дело в фоновом режиме.

HTML:

<form action="connection2.php" method="post">
                            <input type="date" name="date" placeholder="Name" required="">  
                            <input type="submit" name="submit" id="submit" class="strelka-send" value="Insert">
                            <div class="clear"> </div>
                        </form>

CONNECTION2.PHP:

<?php   
# Connection
$servername = ""; 
$connectionInfo = array(
"Database"=>"", 
"UID"=>"", 
"PWD"=>""
);
$conn = sqlsrv_connect($servername, $connectionInfo);
if( $conn === false ) {
    echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);
    exit;
}

# Parameters
$Date = $_POST['date'];


$params = array 
(&$Date);

# Statement
$sql = "INSERT INTO table([Date]) VALUES 
(?)";
$stmt = sqlsrv_prepare($conn, $sql, $params);
if ($stmt === false) {
echo "Error (sqlsrv_prepare): ".print_r(sqlsrv_errors(), true);
exit;
}
if (sqlsrv_execute($stmt)) {
echo "Statement executed.\n";
} else {
echo "Error (sqlsrv_execute): ".print_r(sqlsrv_errors(), true);
}

# End
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
?>
<!DOCTYPE html>
<html>
<body>
<br>
<h1>SUCCESS</h1>
<script>
setInterval(function(){ 
window.location.href="link_to_index.html" }, 5000);
</script>
</body>
</html>

Пока что я установил таймер на странице connection2.php, которая открывается после отправки формы, а затем возвращается на предыдущую страницу. Но это не самое лучшее решение.

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Если вы не хотите перенаправления при отправке формы, вы должны использовать технологию AJAX, например, JQUERY, посмотрите на Отправка HTML-формы с использованием Jquery AJAX

0 голосов
/ 25 апреля 2019

Используйте этот код для отправки формы во всплывающее окно.

Этот код отправляет форму во всплывающее окно после ее отправки.

<form action="connection2.php" method="post" target="popupwindow" onsubmit="window.open('connection2.php', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true">

    <input type="date" name="date" placeholder="Name" required="">  
    <input type="submit" name="submit" id="submit" class="strelka-send" value="Insert">

</form>

Я не проверял этот код.

Но надеемся, что это сработает для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...