Когда время истекло, вы можете установить для cookie значение «Время истекло» ... Когда страница загружена, если для файла «Время истекло», вы можете отобразить предупреждение «Время истекло». Вы также можете использовать cookie для отслеживания накопленного времени просмотра.
Редактировать - добавил некоторые особенности ... но я думаю, вам придется подумать об этом еще немного.
По сути, вы хотите использовать JS для записи файла cookie, когда пользователь использует страницу, и вы хотите использовать PHP для чтения файла cookie при загрузке страницы. Вы можете использовать cookie, чтобы отслеживать только время, общее время накопления или и то, и другое. Я думаю, вы хотите обновлять cookie каждую минуту или около того?
Это будет выглядеть ЧТО-ТО примерно так - этот код просто показывает, как отслеживать, истекло или нет время с cookie, а не с накопленным временем.
<?php
$total_mints=($live_match['match_name']) * (60);
// check for cookie and only proceed if it is not expired
// can also use cookie to keep track of total accumulated number
// of minutes between session
if ($_COOKIE["yourMints"] != "expired")
{
?>
<script language="text/javascript">
display_c(<?php echo $total_mints; ?>,'ct');
</script>
<script type="text/javascript">
function display_c(start,div)
{
window.start = parseFloat(start);
var end = 0 // change this to stop the counter at a higher value
var refresh=1000; // Refresh rate in milli seconds
if(window.start >= end )
{
mytime=setTimeout("display_ct('"+div+"')",refresh)
} else
{
alert("Time Over ");
// set cookie to expired
document.cookie = "yourMints=expired";
}
}
</script>
<?php
} else // What follows is what happens if cookies IS expired
{
?>
<script type="text/javascript">
alert("Time Over ");
</script>
<?php
}
?>
Вот хорошее руководство по использованию файлов cookie JS:
http://www.quirksmode.org/js/cookies.html
Здесь используется $ _COOKIE для чтения куки с PHP
http://php.net/manual/en/reserved.variables.cookies.php
РЕДАКТИРОВАТЬ: Добавлено в примере JQuery после просмотра примера PlagueEditor.
Хороший скрипт PlagueEditor. Думаю, я попробую то же самое с JQuery для развлечения.
JQuery имеет простой маленький плагин cookie ... всего 40 строк кода или около того.
Вот страница с таймером, сохраненным в файлах cookie, и временем ожидания 10 секунд с возможным сбросом:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Time Spent on Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="PATH-TO-YOUR-JQ-DIRECTORY/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="PATH-TO-YOUR-JQ-DIRECTORY/cookie.js"></script>
<script type="text/javascript">
<!--
$.myTimer =
{
timeLimit: 10,
displayTime: function ()
{
if ($.myTimer.time < $.myTimer.timeLimit)
{
$("#timeHere").html($.myTimer.time);
$.cookie('yourMints', $.myTimer.time, { expires: 7});
++$.myTimer.time;
$.myTimer.toggle = setTimeout("$.myTimer.displayTime()",1000);
} else
{
$("#page").html('<h1>Time expired</h1>');
}
}
}
// When the page is ready ==================================================
$(document).ready(function()
{
// Read time spent on page cookie. Set it, if it doesn't exist.
if (!$.cookie('yourMints'))
{
$.cookie('yourMints', '0', { expires: 7});
}
$.myTimer.time = $.cookie('yourMints');
// Start timeer
$.myTimer.displayTime();
// Reset the timer
$("#reset").click( function()
{
$.cookie('yourMints', '0');
window.location.reload();
});
});
// -->
</script>
</head>
<body>
<div id="page">
<h2>Your total time here: <span id="timeHere"></span></h2>
You can only look at this page for 10 seconds.
</div>
<input id="reset" type="button" value="Reset Timer" />
</body>
</html>