0

私はこれをコーディングしました:

<?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())を試しましたが、これによりページの残りの部分の実行が停止します。このスニペットのみを実行から遅らせる必要があります......

4

4 に答える 4

1

これは、クライアント側のスクリプト(Javascript)を使用して行う必要があります。事後にクライアントのブラウザにすでに表示されているものをサーバー側スクリプトで編集することはできません。

于 2012-12-11T18:40:52.420 に答える
1

ページソースをレンダリングしてブラウザに送信すると、PHPはまったく使用されなくなります(クライアントブラウザからの次のリクエストまで)。

于 2012-12-11T18:41:43.980 に答える
1

Cookieを使用したJavaScriptベースのソリューションを提案してから、AJAXリクエストを実行します。

于 2012-12-11T18:49:14.320 に答える
1

10分後にこのコードブロックに対してajaxリクエストを実行しないのはなぜですか?このようなもの。..。

setTimeout(function() {
  // Do the ajax after 10 seconds. 
}, 10000);

このJavaScriptでのアイドル時間のエレガントな検出http://www.jquery4u.com/jquery-functions/settimeout-example/を参照してください。

于 2012-12-11T18:49:15.247 に答える