2016-08-27 5 views
0

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

Теперь хром дает мне всплывающее сообщение, но после этого он перенаправляет меня на пустую страницу.

Вот мой текущий код.

<?php 
include "header.php"; 
include "conexao.php"; 
echo "<h1 align='center'>Pagina para alterar produtos</h1><div class='container'><hr>"; 
$referencia=$_GET['id']; 


$sql = "SELECT * "; 
     $sql = $sql . " FROM tb_produto "; 
     $sql = $sql . " WHERE pr_codigo='".$referencia."'"; 
     $produtos = $db->query($sql); 
     foreach ($produtos as $produto) { 
      $referencia = $produto["pr_codigo"]; 
      $nome = $produto["pr_descricao"]; 
      $preco = $produto["pr_preco"]; 
      $disponivel = $produto["disponivel"]; 
     } 
     echo "<h2>Referencia: ".$referencia."</h2>"; 
     echo "<h2>Nome: ".$nome."</h2><hr>"; 

?> 
<form action="confirmaAlterar.php"> 
<div class="form-group"> 
<label>Referencia</label> 
    <input class="form-control" type="text" name="referencia" value="<?php echo $referencia?>"> 
</div> 
<div class="form-group"> 
<label>Nome</label> 
    <input class="form-control" type="text" name="nome" value="<?php echo $nome?>"> 
</div> 
<div class="form-group"> 
<label>Preço</label> 
    <input class="form-control" type="text" name="preco" value="<?php echo $preco?>"> 
</div> 
<button class="btn btn-primary">Alterar</button> 
</form> 

Здесь размещается информация о форме.

<?php 
include "header.php"; 
include "conexao.php"; 
$nome=$_GET['nome']; 
$referencia=$_GET['referencia']; 
$preco=$_GET['preco']; 
$sql="UPDATE tb_produto SET pr_descricao='".$nome; 
$sql.="', pr_preco=".$preco; 
$sql.= " WHERE pr_codigo='".$ 
try{ 
    $comando=$db->prepare($sql); 
    $comando->execute(); 
    echo "<script type='text/javascript'>alert('submitted successfully!')</script>"; 
    header("refresh2;Location:index.php"); 
} 
catch (PDOException $e){ 
    echo "A"; 
} 
+0

Вам необходимо отправить форму, используя ajax, если вы не хотите t страница для перезагрузки –

+0

Google «AJAX» .. –

+0

или перенаправить на url сообщение об отправке в url и показать его по запросу переменной – rahul

ответ

0

Передача значений с использованием ajax. Форма:

<form id="form"> 
<input type="text" value="test" name="akcija"> 
</form> 

Все значения полей ввода в вашей форме будут переданы.

Ajax:

jQuery(function(){ 
$('#form').on('submit', function (e) { //on submit function 
    e.preventDefault(); 
    $.ajax({ 
     type: 'post', //method POST 
     url: 'yoururl.php', //URL of page where u place query and passing values 
     data: $('#form').serialize(), //seriallize is passing all inputs values of form 
     success: function(){ //on success function 
       $("#input").attr("disabled", true); //example 
       $("#input").removeClass('btn-primary').addClass('btn-success');//example 
        }, 
    }); 
} 
}); 

А на странице АЯКС вы можете получить значения по

$akcija = $_POST['akcija'] 
+0

Пожалуйста, не публикуйте код Javascript, который зависит от jQuery, когда на вопрос нет тега jQuery. –

+0

@CharlotteDunois просто хотел помочь, должен ли я удалить ответ .. или? –

+0

Обновите ответ, чтобы использовать простой javascript, тогда все в порядке. –

0

для этой задачи необходимо использовать Ajax метод.

1- создать html-форму и все необходимые данные.

<form id="contactForm2" action="/your_url" method="post"> 
... 
</form> 

2- добавить файл библиотеки jQuery в начало страницы html.

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">  
</script> 
... 

3- добавить этот метод Под библиотекой JQuery

<script type="text/javascript"> 
var frm = $('#contactForm2'); 
frm.submit(function (ev) { 
    $.ajax({ 
     type: frm.attr('method'), 
     url: frm.attr('action'), 
     data: frm.serialize(), 
     success: function (data) { 
      if(data == 'pass') 
      alert('ok'); 
      else(data == 'fail') 
      alert('no'); 
     } 
    }); 

    ev.preventDefault(); 
}); 
</script> 

4- в your_url .php файл

<?php 

    $a = ok ; 
    if($a == 'ok'){ 
    echo 'pass'; 
    }else{ 
    echo 'fail'; 
    } 

?> 

этот топ ответ прост форма управления с JQuery, но вам нужно управление Комплексная форма лучше использовать эту библиотеку http://jquery.malsup.com/form/

Смежные вопросы