PHP检查/刷新功能

时间:2012-03-30 23:26:44

标签: php

我有一个显示聊天框的主文档。我想要的是当有人发布新消息时,聊天框会在每个人的屏幕上刷新。

我尝试了很多方法,包括睡眠定时器和调用然后调用睡眠并调用的新函数,但这只会生成相同或不同数据的无穷无尽的行,使得表单无法使用直到出现错误。

这是我的代码。

<?php

// set error reporting level
if (version_compare(phpversion(), "5.3.0", ">=") == 1)
 error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
else
 error_reporting(E_ALL & ~E_NOTICE);

require_once('inc/login.inc.php');
require_once('inc/chat.inc.php');

// initialization of login system and generation code

$oSimpleLoginSystem = new SimpleLoginSystem();

$oSimpleChat = new SimpleChat();

// draw login box
echo $oSimpleLoginSystem->getLoginBox();


// draw chat application
$sChatResult = '<font color="0x99000">
        <a href="Register_form.html">New Account</a><br>
        login to send a message<br>
        or register for a new account</font>';

if ($_COOKIE['member_name'] && $_COOKIE['member_pass'])
{
 if ($oSimpleLoginSystem->check_login($_COOKIE['member_name'], $_COOKIE['member_pass'])) {

 $sChatResult = "";
 if($oSimpleLoginSystem->check_privledges($_COOKIE['member_name']) >= 2)
 {
 $sChatResult .= "<br>privledge check Working<br>";

 }
 $sChatResult .= "<form action=$_SERVER[PHP_SELF] method='post'>
<input type='hidden' name='foo' value='<?= $foo ?>' />
<input type='submit' name='submit' value='Refresh Messages' />
</form>";
 $sChatResult .= $oSimpleChat->acceptMessages();
 $sChatResult .= "<br><br>";
 $sChatResult .= $oSimpleChat->getMessages();

 }
}

echo $sChatResult;

?>

1 个答案:

答案 0 :(得分:4)

如果我正确理解了这个问题,那么当用户的浏览器显示页面时,您的PHP程序已经完成运行。您需要执行此客户端(即在Javascript,Flash或Java中)或在服务器上具有单独的进程,该进程将更新推送到页面。