使用php提交表单后弹出消息

时间:2016-08-27 09:43:44

标签: php html

我试图收到一条弹出消息,说明是否成功提交,而不必转到其他页面。

现在chrome给了我弹出消息,但它在我之后将我重定向到空白页。

这是我目前的代码。

<?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";
}

2 个答案:

答案 0 :(得分: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
                  },
    });
}
});

在ajax页面上,您可以通过

获取值
$akcija = $_POST['akcija']

答案 1 :(得分:0)

对于此问题,您必须使用ajax方法。

1-创建html表单并输入所有必需项。

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

2-在html页面的头部添加jQuery库文件。

<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>
在your_url .php文件中

4-

<?php 

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

?>

这个最佳答案是使用jquery的简单管理表单,但是你需要管理复杂形式更好地使用这个库http://jquery.malsup.com/form/