请帮忙, 我想在用户在线自动刷新的主页号码。
脚本我正在使用:
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);
答案 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();
?>