How to use alert modal within a PHP form?

Asked

Viewed 808 times

1

I am trying to submit a form within the same page with $_SERVER['PHP_SELF'] and from there receive a "registered product" alert with a Boostrap modal. I believe I’m failing to link the action submit with the alert.

Working code of Insert in the bank with $_SERVER['PHP_SELF']:

  <!-- Bootstrap core CSS -->
  <link href="boostrap/css/bootstrap.min.css" rel="stylesheet">
  <!-- Bootstrap theme -->
  <link href="boostrap/css/bootstrap-theme.min.css" rel="stylesheet">
</head>

<?php
    if(isset($_POST['submit'])){

        INCLUDE "conexao.php";

        if (isset($_POST["submit"])) {

            $cod_produto = $_POST['cod_produto'];
            $dsc_produto = $_POST['dsc_produto'];
            $preco_produto = $_POST['preco_produto'];
            $qtd_estoque = $_POST['qtd_estoque'];
            $qtd_limitador = $_POST['qtd_limitador'];


            $sql = "INSERT INTO estoque (cod_produto, dsc_produto, preco_produto, qtd_estoque, qtd_limitador) VALUES ('".$cod_produto."', '".$dsc_produto."', '".$preco_produto."', '".$qtd_estoque."', '".$qtd_limitador."')";
            $mysql = mysqli_query($conexao,$sql);
            if (!mysql) {
                die('Error: ' . mysqli_error()); 
            }

            else {
                echo "Feito";
            }
        }
        else {
            echo "submit error";
        }       
    }
?>

Code with Javascript:

    <!-- Bootstrap core CSS -->
    <link href="boostrap/css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap theme -->
    <link href="boostrap/css/bootstrap-theme.min.css" rel="stylesheet">
</head>

<?php
    if(isset($_POST['submit'])){

        INCLUDE "conexao.php";

        if (isset($_POST["submit"])) {

            $cod_produto = $_POST['cod_produto'];
            $dsc_produto = $_POST['dsc_produto'];
            $preco_produto = $_POST['preco_produto'];
            $qtd_estoque = $_POST['qtd_estoque'];
            $qtd_limitador = $_POST['qtd_limitador'];

            $sql = "INSERT INTO estoque (cod_produto, dsc_produto, preco_produto, qtd_estoque, qtd_limitador) VALUES ('".$cod_produto."', '".$dsc_produto."', '".$preco_produto."', '".$qtd_estoque."', '".$qtd_limitador."')";
            $mysql = mysqli_query($conexao,$sql);
            if (!mysql) {
                die('Error: ' . mysqli_error()); 
            }

            else {      
?>
<script>
    $('#myModal').on('shown.bs.modal', function () {
        $('#myInput').focus()
    })
</script>
<div class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">Modal title</h4>
            </div>
            <div class="modal-body">
                <p>One fine body&hellip;</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

<?php
           }
       }
       else {
            echo "submit error";
       }            
   }
?>

I did not find it relevant to put the form in php, but I believe I should change the ID of this line:

<form class="form-horizontal" method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
  • I didn’t see the inclusion of the javascript file in your source code, you put it in your HTML?

  • I put yes <script src="jquery-1.11.3.min.js"></script>

  • You also need to put the bootstrap javascript, see in the documentation how to do it.

  • I put all that says in the documentation and yet I get no action when I click the button.

  • @Felipe Had some snippets of the code that weren’t showing up, edited his question and fixed the formatting of the source code.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.