I have a very specific problem. I browsed the whole internet for a solution, but I didn't find anything useful.
I have this HTML code:
<form action="/timer.php" method="POST">
<span>First Name:</span><input name="firstname" type="text" />
<input type="submit" value="Submit">
</form>
When I enter the timer.php site by entering my name, the new tab should count the time spent on this page, and save it anywhere (file or a database) with my entered name and autosave every half an hour.
Current html
<html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
<script>
function call_ajax(pageOpen, firstname){
pageClose =new Date();
//count spent minutes and seconds on page
minutes= pageClose.getMinutes() - pageOpen.getMinutes();
seconds= pageClose.getSeconds() - pageOpen.getSeconds();
//send the spent minutes, seconds and firstname to timer.php file
$.ajax({
url: "timer.php",
data: {'minutes': Math.abs(minutes), 'seconds':Math.abs(seconds), 'firstname':firstname}
})
}
$(document).ready(function() {
//When open the page get the current time
var pageOpen = new Date();
//call the ajax to send the request in timer.php every 30 min
setInterval(function(){var firstname = $('#firstname').val();call_ajax(pageOpen, firstname); }, 1000 * 60 * 30);
$("button").click(function(e){
e.preventDefault();
//call the ajax to send the request in timer.php on click the button
var name = $('#firstname').val();
call_ajax(pageOpen, name);
});
});
</script
</head>
<body>
<form action="/timer.php" method="POST" name="timer" >
<span>First Name:</span><input name="firstname" type="text" id="firstname" />
<input type="submit" value="Submit">
</form>
</body>
</html>
My timer.php:
<?php
header('Content-Type: text/html; charset=Windows-1250');
$firstName = $_POST['firstname'];
$minutes = $_POST['minutes'];
$seconds = $_POST['seconds'];
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=Windows-1250" />
</head>
<body>
<
Meno Užívateľa: <b> <?= $firstName ?> </b>
</br>
</br>
Momentálne majníš : <b> <?= $minutes ?> Minút </b> <b> a </b> <b> <?= $seconds ?> Sekúnd </b>
</br>
</br>
<INPUT TYPE="button" onClick="history.go(0)" VALUE="Refresh">
</body>
</html>