Hello stackoverflow people, For the last Two days ive been trying to create this Staff applying system but i'm not to great at PHP and still learning but what i want it to do is they fill the forms out then click Submit then that downloads to a folder on the server With dated file names for each application for me to look over but i cant figure it out... My PHP only goes so far.. Is this system possible? can you make it for me or help me out?? Thanks alot for reading! :)
<?php
$tasktitle = $_POST['app'];
setlocale(LC_TIME, "fi_FI");
date_default_timezone_set("Europe/Helsinki");
$date = strftime("%Y-%m-%d-%A");
$timesaved = strftime("%H:%M:%S");
$elapsedtime = $_POST['current_time'];
$file = "apps/".$date.".txt";
$cont = 'time finished: '.$timesaved.' - time elapsed: '.$elapsedtime.' - task name: '.$tasktitle.''. "n";
$f = fopen ($file, 'a+');
fwrite($f, $cont);
fclose($f);
?>
But it just writes a date in the file lol
</div>
This is a example where Post data is stored in a Dated text file line by line.
<form method="POST">
<input name="name" type="text" />
<input name="ign" type="text" />
<input type="submit" name="submit" value="Save Data">
</form>
<?php
if(isset($_POST['name']) && isset($_POST['ign'])) {
$data = $_POST['name'] . '-' . $_POST['ign'] . "
";
$date = date('Y-m-d');
$ret = file_put_contents('apps/'.$date.'.txt', $data, FILE_APPEND | LOCK_EX);
if($ret === false) {
die('There was an error writing this file');
}
else {
echo "$ret bytes written to file";
}
}
?>
EDIT 1:
If you want to create a new file for every entry with dated filename use this code -
if(isset($_POST['name']) && isset($_POST['ign'])) {
$data = $_POST['name'] . '-' . $_POST['ign'] . "
";
$i = 1;
$new_file_name = date('Y-m-d');
while (file_exists('apps/' . $new_file_name . '.txt')) {
$new_file_name = (string) $new_file_name . '_' . $i;
$i++;
}
$ret = file_put_contents('apps/' . $new_file_name . '.txt', $data, FILE_APPEND | LOCK_EX);
if ($ret === false) {
die('There was an error writing this file');
} else {
echo "$ret bytes written to file";
}
}