您好我想每隔3秒刷新一次我的PHP这就是我所拥有的:
<?php
session_start();
include "../config.php";
$time = time();
$sql1 = "UPDATE login SET lastlogin = '" .$time. "' WHERE id = '" .$_SESSION['userid']. "'";
$res1 = mysql_query($sql1) or die(mysql_error());
$onlinetime = "10"; // 10 seconds
$sql3 = "SELECT * FROM login ORDER BY lastlogin DESC";
$res3 = mysql_query($sql3);
while($row3 = mysql_fetch_array($res3)){
if($row3['lastlogin'] + $onlinetime > time()){
echo '<b><font color="green">✔</font></b> <u>'.$row3['name'].'</u><br />';
}else{
echo "<b><font color='red'>X</font></b> <u>".$row3['name']."</u><br />";
}
}
?>
这并不令人耳目一新,这真的很烦人。它显示谁在我的聊天室在线。有人帮忙吗?感谢。
答案 0 :(得分:7)
我建议您使用<meta http-equiv="refresh" content="5" />
部分中的<head>
标记。 这不依赖于JavaScript ,并且每个主要浏览器都实现了此功能。
答案 1 :(得分:3)
我不知道你要做什么。代码中没有提及刷新。
您可以将以下内容放在HTML的元素中,以强制客户端每三秒刷新一次。
<meta http-equiv="refresh" content="3" />
伊恩
答案 2 :(得分:1)
最好的解决方案是使用ajax并轮询一个php脚本,每隔X秒检查一次在线用户。
我强烈推荐jQuery用于ajax-part。
答案 3 :(得分:1)
刷新浏览器内容是浏览器应该做的事情。使用Redirect-After
HTML meta-tag(这将导致“闪烁”),或使用一些Javascript重新加载网站的内容(请参阅AJAX)
答案 4 :(得分:1)
您可以使用PHP标头或其他方式刷新。它每次都适合我。
<?php
$url = 'http://google.com/'; $timeout = 5; //Directed URL and timeout.
header('Refresh: ' . $timeout . ';url=' . $url);
?>
答案 5 :(得分:0)
您可以在lastlogin + onlinetime
附近添加一些parens:
if($row3['lastlogin'] + $onlinetime > time()){
更改为
if(($row3['lastlogin'] + $onlinetime) > time()){
答案 6 :(得分:0)
您可以使用javascript重新加载:
<META HTTP-EQUIV="Refresh" CONTENT="360; /">