I've created a form that is made up of 2 input fields and a wysiwyg text area (ckeditor). I have a function using ajax to gather the ckeditor data to be submitted. I have the form properly submitting to the database, but I also need it to write to a text file. How would I go about doing this?
Edit to include code:
using onclick to submit:
onclick=\"javascript:submitData()\"
ajax function:
function submitData(){
var params='';
if(document.getElementById('title').value!='' && document.getElementById('date').value!='' && CKEDITOR.instances.article.getData()!=''){
//build params
params='&title='+document.getElementById('title').value;
params+='&date='+document.getElementById('date').value;
params+='&article='+escape(CKEDITOR.instances.article.getData());
var httpRequest=new ajaxObject('form.php',processData);
httpRequest.update('id=submitData'+params);
}
submit to database, then try to submit to flat file:
$saving = $_REQUEST['saving'];
if ($saving == 1) {
$data = $formData['title'];
$data .= $formData['date'];
$data .= $formData['article'];
$file = "/txt/data.txt";
$fp = fopen($file, "a") or die("Couldn't open $file for writing!");
fwrite($fp, $data) or die("Couldn't write values to file!");
fclose($fp);
}
I suppose that, somewhere in your PHP script, there is something like
mysql_query("insert into your_table ... ");
that inserts to the database ?
Well, close to that line, you have to write to your file.
The simplest solution I can think about is to use file_put_contents
:
file_put_contents('path to your file', $content);
If you just want to create a new file, or override an existing one ; and :
file_put_contents('path to your file', $content, FILE_APPEND);
If you want to add your text at the end of an existing file (and create the file if it doesn't exist).
Of course, you can also use a combinaison of fopen
, flock
, fwrite
, and fclose
; but it means a bit more work ^^