0

I want to achieve:

in a html-form put in some data (e.g. -wahl- and -id- ) after klicking -submit- call the javascript function -machExport- this function validates the values and passes them (-wahl- and -id-) to the php-File -makeExport.php- the -php-Funktion gets these values, gets some data from a mysql database, creates output-data, writes these data into a file -data.txt- and download this file instantly to the users download-folder.

Everything works quite well, but: after creating the data, this data is stored into the file but there is no downloading.

So, what's wrong. (If I execute the -php-file directly by passing some values to the php-function, it works quite well,

so only if there ist the javascript function between the html- and the php-function, ist doesn't work )

Part of the code within my -html- document

<form name="form" action="" method="post" onsubmit="return machExport()" onreset="abbruch()">

Javascript-Code:

function machExport(){
  var wahl    = $("input[name='rd1']:checked").val();
  var id      = $("#id").val();
  // verify these values and give an error message, if necessary
  ...
  // if everything is ok, pass values to the -php- function
  var ajxFile = 'makeExport.php';
  var param   = wahl + "#" + id;
  $.ajax({
    type: "POST",
    url: ajxFile,
    data: param
    // if I put here a -success: function -statement,
    // then the data having been created within my php-function
    // is not beeing written into the requested file
    // but is displayed in my html-document.
    }
  });

 return false;
}

PHP-File -makeExport.php-

<?php
// get the values for -wahl- and -id-
...
// create data to write into file
$data = ...
// write data to file and download this file instantly
$file = "data.txt";
$fOK = file_put_contents ( $file , $data );
// up to here, it works
// but the next 3 lines are not excecuted
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($file);
?>
WL_Juelich
  • 11
  • 1

0 Answers0