【问题标题】:PHP: Refresh my codePHP:刷新我的代码
【发布时间】:2009-10-26 19:28:48
【问题描述】:

您好,我想每 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">&#10004;</font></b> <u>'.$row3['name'].'</u><br />';

        }else{

echo "<b><font color='red'>X</font></b> <u>".$row3['name']."</u><br />";
        }
        }            

?> 

这并不令人耳目一新,真的很烦人。它在我的聊天框中显示谁在线。有人帮忙吗?谢谢。

【问题讨论】:

    标签: php mysql refresh


    【解决方案1】:

    我建议在&lt;head&gt; 部分中使用&lt;meta http-equiv="refresh" content="5" /&gt; 标记。 这不依赖于 JavaScript,每个主流浏览器都实现了这个功能。

    【讨论】:

      【解决方案2】:

      我不知道你想做什么。代码中没有提到刷新。

      您可以在 HTML 的元素中添加以下内容,以强制客户端每三秒刷新一次。

      <meta http-equiv="refresh" content="3" />
      

      伊恩

      【讨论】:

        【解决方案3】:

        最好的解决方案是使用 ajax 并轮询一个 php 脚本,该脚本每 X 秒检查一次在线用户。

        我强烈推荐 jQuery 用于 ajax 部分。

        【讨论】:

          【解决方案4】:

          刷新浏览器内容是浏览器应该做的事情。要么使用Redirect-After HTML meta-tag(这将导致“闪烁”),要么使用一些Javascript来重新加载网站的内容(见AJAX

          【讨论】:

            【解决方案5】:

            您可以使用 PHP 标头或其他方式刷新。每次都对我有用。

            <?php
            $url = 'http://google.com/'; $timeout = 5; //Directed URL and timeout.
            header('Refresh: ' . $timeout . ';url=' . $url);
            ?>
            

            【讨论】:

            • a我不确定,但它似乎工作正常......谢谢。
            • 它不起作用,它不刷新。除了网址,我没有更改任何内容。
            • @YourComputerHelpZ 您是否将其置于一切之上?此外,您必须将 5 更改为您的定向时间,正如您所说的 (3?) 秒...
            【解决方案6】:

            您可以在lastlogin + onlinetime 周围添加一些括号:

            if($row3['lastlogin'] + $onlinetime > time()){
            

            改成

            if(($row3['lastlogin'] + $onlinetime) > time()){
            

            【讨论】:

            • 这和刷新页面有什么关系?
            • @seb; @乔伊;请您只回答我的问题。我可以用验证器来做这些事情......
            【解决方案7】:

            您可以使用 javascript 重新加载:

            <META HTTP-EQUIV="Refresh" CONTENT="360; /">
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2014-02-06
              • 1970-01-01
              • 2011-01-31
              • 2016-05-10
              • 1970-01-01
              • 2021-08-30
              • 2011-08-17
              相关资源
              最近更新 更多