Page session in php, I want to store the time spent by the user on a particular page...?
Can any one help in storing the time spent by user on a particular page... This is what I did... It seams to work but i don't know my my php page is unable to get the data and store in database... individually while I am calling StoreTime.php?time=23 it is getting the time value and storing the data...
<html>
<head>
<title>
Page time
</title>
</head>
<script type="text/javascript">
var time=1;
function timeHere()
{
time = time + 1;
finalTime = time / 10;
document.title = finalTime;
}
function sayTime()
{
finalTime = time / 10;
showTime(finalTime);
alert("U are in this page for " +finalTime+" Sec");
}
function showTime(finalTime)
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
开发者_运维技巧 xmlhttp=new XMLHttpRequest();
}
else
{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","StoreTime.php?time=" +finalTime,true);
xmlhttp.send();
}
function sendTimeSpent(finalTime)
{
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/Test/Timer/StoreTime.php?time="+finalTime,true);
xmlhttp.send(null);
}
</script>
<body onload='window.setInterval("timeHere()", 100)' onunload="sayTime()">
Close the page to see the time spent on this page...
<div id='myDiv'></div>
</body>
<!-- Paste this code into an external JavaScript file named: timePage.js -->
/* This script and many more are available free online at
The JavaScript Source :: http://javascript.internet.com
Created by: Cody Shaffer :: http://codytheking313.byethost11.com */
var time=1;
function timeHere() {
time = time + 1;
finalTime = time / 10;
/* Remove the "//" below to display in the title bar
the amount of time the visitor has been on the site.
Be aware though, that it does tend to be a bit distracting. */
// document.title = finalTime+" seconds you been here for!";
}
function sayTime() {
finalTime = time / 10;
alert("Thank you for coming to my site! \n You have been here " + finalTime + " seconds!");
}
<!-- Paste this code into the HEAD section of your HTML document.
You may need to change the path of the file. -->
<script type="text/javascript" src="timePage.js"></script>
<!-- Paste this code into the BODY tag -->
<body onload='window.setInterval("timeHere()", 100)' onunload="sayTime()">
Here is some code on this site. Now as you can use this script to calculate the time spent, on the other side of the coin, you can use AJAX to continuosly send the time duration to a php file the server for futher workout with the data.
精彩评论