Execute document and send variable value in PHP by Ajax

0

Hello, I have to develop a confirm button for deleting a product. For this, I had the idea to execute a file in php through ajax from the moment I click on "Confirm" in the JS confirm together, passing the value of a variable that will serve to make the sqls.

The problem is that I do not know how to pass the value of this variable, we examples that I found show how to pass values of inputs by the id or values already determined, but nothing like what I need. >

PHP with JS:

<?php
  $codprod = $_POST['produtoDelete'];// Esse é o valor que preciso para fazer as sqls

  //JS
  <script>
  function excluirConfirm() {
    var txt;
    var r = confirm("Tem certeza que deseja excluir esse produto?");
    if (r == true) {
        //Aqui fica o ajax
        $.ajax({
            type: 'post',
            url: 'produtoSessionEdit.php',
            dataType: 'json',
            data: {
                codprod: ? //AQUI QUE ESTA MINHA DÚVIDA
            } /* ... */
        });

    }else {
        txt = "You pressed Cancel!";
    }
    document.getElementById("demo").innerHTML = txt;
    }
  </script>
?>

PHP file with sqls

<?php
ob_start();
session_start();

$codprod = $_POST['produtoDelete'];

//Deleção do produto
$select= "DELETE DESCRICAO FROM PRODUTO WHERE COD_PRODUTO=:codd";
$result= $pdo->prepare($select);
$result->bindParam(':codd', $codprod);
$result->execute();

echo '<script type="text/javascript"> alert("Produto excluido!"); </script>';
?>

What can I do to sort this out?

    
asked by anonymous 02.08.2017 / 21:24

2 answers

1

First, remove the javascript from the php tag

<?php
  $codprod = $_POST['produtoDelete'];// Esse é o valor que preciso para fazer as sqls ?>

Next you will call the delete function on a button or something like

<button onclick="excluirConfirm();">Botao</button>

In the js file you will get the value received in a js variable

//JS
  <script>
  function excluirConfirm() {
    var valorRecebido = <?php echo $codprod; ?>;
    var txt;
    var r = confirm("Tem certeza que deseja excluir esse produto?");
    if (r == true) {
        //Aqui fica o ajax
        $.ajax({
            type: 'post',
            url: 'produtoSessionEdit.php',
            dataType: 'json',
            data: {
                codprod: valorRecebido //AQUI Você passará o valor e o codprod será o name
            } /* ... */
        });

    }else {
        txt = "You pressed Cancel!";
    }
    document.getElementById("demo").innerHTML = txt;
    }
  </script>

With this in php you will get the name given in ajax

<?php
ob_start();
session_start();

 //Aqui coloca o name dentro do post
$codprod = $_POST['codprod'];

//Deleção do produto
$select= "DELETE DESCRICAO FROM PRODUTO WHERE COD_PRODUTO=:codd";
$result= $pdo->prepare($select);
$result->bindParam(':codd', $codprod);
$result->execute();

echo '<script type="text/javascript"> alert("Produto excluido!"); </script>';
?>
    
02.08.2017 / 21:56
1

Your php variable must be stored in client , so that in submitting the form, the value of name is its name in php , example ...

<form name="formEnv" id="env" method="post">

    <input type="hidden" name="produtoDelete" value="<?php echo $_POST['produtoDelete']?>">

    <input type="submit">

</form>

JS

$(document).ready(function(){


        $( "#env" ).submit(function( event ) {
         event.preventDefault();

         var r = confirm("Tem certeza que deseja excluir esse produto?");

         if(r == true) {

         var data = $("#env").serialize();

            $.ajax({
                type : "POST",
                url  : "suaPagina.php",
                data : data,
                dataType: "json",
                success : function(response){
                    if (response == 1) {

          document.getElementById("demo").innerHTML = 'sucesso';

                    };
                    if (response == 0) {

          document.getElementById("demo").innerHTML = 'falha';

                    };
                }
            })

           }else{alert('operação cancelada!');}
        });

})

PHP

<?php
ob_start();
session_start();

$codprod = $_POST['produtoDelete'];

//Deleção do produto
$select= "DELETE DESCRICAO FROM PRODUTO WHERE COD_PRODUTO=:codd";
$result= $pdo->prepare($select);
$result->bindParam(':codd', $codprod);
$result->execute();

if($result){$retorno = 1}else{$retorno = 0};

echo json_encode($result)
exit();

?>

If your javascript is embedded in the page, the php variable can be explicit.

    
02.08.2017 / 22:02