Это то, что я в итоге сделал:
Я решил использовать JQuery для создания POST-файла PHP следующим образом:
function f()
{
//Variables I needed to POST to PHP
var IDDocument = 15;
var Document = 'Invoice';
var ClientID = '205160615';
//POST to PHP using JQUERY
$.post('PDF.php'{
IDDocument:IDDocument,
Document:Document,
ClientID:ClientID,
btnPDF:"btnPDF"//btnPDF is just to check if user clicked the button
},
function() //this function is to call the PHP File a second time
{
window.open('PDF.php');
});
}
Затем в файле PHP я решилчтобы сохранить переменные, отправленные в $_SESSION
переменных после того, как пользователь удостоверился, что нажал кнопку, используя условие if
.И затем, во второй раз, когда вызывается PHP-файл, поскольку пользователь не нажал кнопку, которую я проверил, используя одер else
для создания и загрузки PDF-файла на этот раз.Поскольку у меня есть переменные, ранее сохраненные в $_SESSION
переменных, я просто использовал их для загрузки файла PDF, а затем сбросил их.
это код в файле PHP:
if(isset($_POST['btnPDF'])) //Check if user clicked the button
{
//If the user clicked the button, store the variables in $_SESSION variables
$_SESSION["IDDocument"]=$_POST['IDDocument'];
$_SESSION["Document"]=$_POST['Document'];
$_SESSION["ClientID"]=$_POST['ClientID'];
}
else
{
//the second time the PHP file is called, the user didn't clicked the button.
//This second time I use the $_SESSION variables previously stored in the first
//call to the PHP file in order to create and load the PDF file
//asign $_SESSION variables to PHP variables if you want to
$IDDocument=$_SESSION["IDDocument"];
$Document=$_SESSION["Document"];
$ClientID=$_SESSION["ClientID"];
//unset the $_SESSION variables
unset($_SESSION["IDDocument"],$_SESSION["Document"],$_SESSION["ClientID"]);
//Create and load the PDF file
}