<?php
include("includes/config.php");
if(!empty($_SESSION['LoggedIn']) && !empty($_SESSION['username']))
{
if(is_numeric($_GET['num']) && mysql_real_escape_string($_GET['id'])){
$username=$_SESSION['username'];
$video_id=$_GET['id'];
$video_num=$_GET['num'];
$checknum=mysql_query("select visitedpage.video_id,visitedpage.video_num from visitedpage where video_num='$video_num'");
$num=mysql_num_rows($checknum);
if($num < 1){
$savepage=mysql_query("insert into visitedpage(username,video_id,video_num) values ('$username','$video_id','$video_num')");
}
if($num < 1 ){
$get=mysql_query("select users.percent from users where username='$username'");
$fetch=mysql_fetch_assoc($get);
$now=$fetch['percent'];
$add=1;
$sum=$now + $add;
$update=mysql_query("update users set percent='$sum' where username='$username'");
}
}}
?>
我希望当用户在页面中停留大约10分钟时执行代码
我试过(sleep())但这会停止执行页面的其余部分, 我只需要将此片段从执行中延迟......
答案 0 :(得分:1)
您必须使用客户端脚本(Javascript)执行此操作。事后,您无法使用服务器端脚本编辑已在客户端浏览器上显示的内容。
答案 1 :(得分:1)
您可能需要使用javascript来执行您想要执行的操作,因为一旦您呈现页面源并将其发送到浏览器,PHP就不再使用(直到客户端浏览器的下一个请求)。
答案 2 :(得分:1)
我建议使用基于javascript的解决方案,然后执行AJAX请求。
答案 3 :(得分:1)
为什么不在10分钟后对这段代码执行ajax请求? 这样的事情。 ...
setTimeout(function() {
// Do the ajax after 10 seconds.
}, 10000);
见Detecting idle time in JavaScript elegantly 这个http://www.jquery4u.com/jquery-functions/settimeout-example/