PHP: обновить мой код - PullRequest
       5

PHP: обновить мой код

0 голосов
/ 26 октября 2009

Здравствуйте. Я хочу обновлять свой php каждые 3 секунды

<?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 />";
        }
        }            

?> 

Это не освежает, что действительно раздражает. Он показывает, кто в сети в моем чате. Кто-нибудь поможет? Спасибо.

Ответы [ 7 ]

7 голосов
/ 26 октября 2009

Я бы предложил использовать тег <meta http-equiv="refresh" content="5" /> в разделе <head>. Это не зависит от JavaScript , и в каждом крупном браузере эта функция реализована.

3 голосов
/ 26 октября 2009

Понятия не имею, что вы пытаетесь сделать. В коде нет упоминания об обновлении.

Вы можете добавить следующее в элемент HTML, чтобы клиент обновлялся каждые три секунды.

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

Ian

1 голос
/ 27 октября 2009

Вы можете обновить с помощью PHP-заголовка или чего-то подобного. У меня это работает каждый раз.

<?php
$url = 'http://google.com/'; $timeout = 5; //Directed URL and timeout.
header('Refresh: ' . $timeout . ';url=' . $url);
?>
1 голос
/ 26 октября 2009

Обновление содержимого браузера - это то, что браузер должен делать. Либо используйте метатег Redirect-After HTML (что приведет к «мерцанию»), либо используйте Javascript для перезагрузки содержимого сайта (см. AJAX )

1 голос
/ 26 октября 2009

Лучшее решение - использовать ajax и опрашивать php-скрипт, который проверяет интернет-пользователей каждые X секунд.

Я настоятельно рекомендую jQuery для ajax-части.

0 голосов
/ 26 октября 2009

Вы можете использовать перезагрузку JavaScript:

<META HTTP-EQUIV="Refresh" CONTENT="360; /">
0 голосов
/ 26 октября 2009

Вы можете добавить несколько паренов вокруг lastlogin + onlinetime:

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

изменить на

if(($row3['lastlogin'] + $onlinetime) > time()){
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...