Send JS data to PHP with ajax

0

Partner I'm trying to send data from a JS to a PHP that allows me to generate a PDF document, here the JS.

var IDencuestapdf;
var IDcontratopdf;
var IDuserpdf;

function generarPDF (){
      IDencuestapdf = $('#idencuesta').val();
      IDcontratopdf = $('#idcontrato').val();
      IDuserpdf = $('#idusuario').val();

  dataString = {
    'IDencuestapdf' : IDencuestapdf,
    'IDuserpdf' : IDuserpdf,
    'IDcontratopdf' : IDcontratopdf
  };

  $.ajax({
          type: "POST",
          url: "PDF.php",
          data: dataString,
          success: function() {
              location.href ="PDF.php?pdf=1";
          }
  });
}

The problem is that I apply fixed data in PHP and it calls me the PDF data according to that data, but when I try to put the data as they are called from the JS, I get the variables without undefined, here the PHP.

PDF.php

<?php  

 session_start();

/* Datos fijos usados para hacer las consultas
  $IDencuesta = 19;
  $IDcontrato = 2;
  $IDuser = 3;
*/    
      $IDencuesta = $_POST['IDencuestapdf'];
      $IDcontrato = $_POST['IDcontratopdf'];
      $IDuser = $_POST['IDuserpdf'];

include ('conexion.php');

etc...
?>
    
asked by Porchigone 17.11.2018 в 17:42
source

1 answer

0

you can do it like this:

<?php  

 session_start();

/* Datos fijos usados para hacer las consultas
  $IDencuesta = 19;
  $IDcontrato = 2;
  $IDuser = 3;
*/

// validamos que alla algo en post!
if(isset($_POST)){
// hacemos una conversion a entero si existe la $_POST["dato"];

      $IDencuesta = isset($_POST['IDencuestapdf'])? (int) $_POST['IDencuestapdf'] : die("undefined variable IDencuestapdf");
      $IDcontrato = isset($_POST['IDcontratopdf']) ? (int) $_POST['IDcontratopdf'] : die("undefined variable IDcontratopdf"); 
      $IDuser = isset($_POST['IDuserpdf'])? (int) $_POST['IDuserpdf'] : die("undefined variable IDuserpdf");

//con php 7 :

// hacemos una conversion a entero si existe la $_POST["dato"];

      $IDencuesta = $_POST['IDencuestapdf'] ?? die("undefined variable IDencuestapdf");
      $IDcontrato = $_POST['IDcontratopdf'] ?? die("undefined variable IDcontratopdf"); 
      $IDuser = $_POST['IDuserpdf'] ?? die("undefined variable IDuserpdf");
// forzamos una funcion resiva solo int con
// o solo cambiarlo con un cambio simple de:
$IDencuesta = (int) $IDencuesta;
$IDcontrato = (int) $IDcontrato;
$IDuser = (int) $IDuser;

function tusfuncion(int $IDencuesta,int $IDcontrato, int $IDuser){
 //bla bla bla
}

}else{
   die("no an llegado datos");
}

include ('conexion.php');

etc...
?>
    
answered by 17.11.2018 / 22:40
source