在JavaScript

时间:2015-12-10 16:02:17

标签: javascript php

请帮忙, 我想在用户在线自动刷新的主页号码。

脚本我正在使用:

online.php

我在功能中创建:

function online_ip() {

这是您要解释数字的文字。

$explain = 'User Online: ';
$explain_ip = '<br />Your IP: ';

添加在线号码。您可以将此项设置为0表示实际数字

$additions = 0;

这是以分钟为单位的刷新时间。

$timer = 10;

将保存所有数据的文件的名称。

$filename = 'configs/online.lst';



if (!$datei) $datei = dirname(__FILE__)."/$filename";
$time = @time();
$space = " ";
$ip = get_client_ip();
$string = "$ip|$time\n";
$a = fopen("$filename", "a+");
fputs($a, $string);
fclose($a);



$timeout = time()-(60*$timer);

$all = "";
$i = 0;
$datei = file($filename);
for ($num = 0; $num < count($datei); $num++) {
    $pieces = explode("|",$datei[$num]);
    if ($pieces[1] > $timeout) {
        $all .= $pieces[0];
        $all .= ",";
    }
    $i++;
}

$all = substr($all,0,strlen($all)-1);
$arraypieces = explode(",",$all);
$useronline = count(array_flip(array_flip($arraypieces)));

显示$ timeout内活动的人数

 echo $explain, $useronline+$additions, $explain_ip, $ip;

删除

  $dell = "";
    for ($numm = 0; $numm < count($datei); $numm++) {
        $tiles = explode("|",$datei[$numm]);
        if ($tiles[1] > $timeout) {
            $dell .= "$tiles[0]|$tiles[1]";
        }
    }



 if (!$datei) $datei = dirname(__FILE__)."/$filename";
    $time = @time();
    $ip = get_client_ip();
    $string = "$dell";
    $a = fopen("$filename", "w+");
    fputs($a, $string);
    fclose($a);

结束功能:

}
home_page.php中的

<div id="demo"></div>

我拒绝Javascript(不工作)

setInterval(myOn, 1000);
function myOn() {
    <?php include('online.php'); ?>
document.getElementById("demo").innerHTML = "<?php online_ip(); ?>"; 
};

setTimeout(myOn, 10000);

谢谢,@ okolimar:

var myOnl = setInterval(myOn, 5000);
function myOn() {
$.get( "online.php", function( data ) {
  $( "#demo" ).html( data );
});
};
setTimeout(myOn, 5000);

1 个答案:

答案 0 :(得分:0)

你的函数myOn需要调用AJAX正确的php文件,它将包含你需要的信息。这不起作用,因为PHP部分仅在您显示页面时执行一次,请参阅检查器中的源。 <?php online_ip(); ?>在服务器上执行,并在js文件中提供。

要获得动态,你需要调用类似的东西:

$.get( "somefile.php", function( data ) {
  $( "#demo" ).html( data );
  alert( "Load was performed." );
});

你需要在somefile.php中找到

<?php 
   include('online.php'); 
   online_ip();
?>