AJAX聊天 - 用户的个人警报(命令)

时间:2013-06-20 18:35:05

标签: php oop

所以我有一个ajax聊天我一直在编程, 和它的命令系统。

基本上,我希望系统在不使用任何命令的情况下向用户发出警报,并且只发布斜杠('/'),并且只有发布它的用户才能查看。

但我不确定如何让它发挥作用。 这是我的加载消息方法,在聊天中:

    public function loadMessages($username)
    {
        $this->fetch = $this->pdo->prepare("SELECT * FROM messages ORDER BY date, time ASC LIMIT 30");
        $this->fetch->execute();

        while ($row = $this->fetch->fetch(PDO::FETCH_ASSOC))
        {
            if ($row['isAlert'] == '1')
            {
                echo '<b>'.$row['date'].', '.$row['time'].' ['.$row['username'].']: </b><font color="red">'.$row['message'].'</font> <br />';
            }
            else
            {
                echo '<b>'.$row['date'].', '.$row['time'].' ['.$row['username'].']: </b>'.$row['message'].' <br />';
            }
        }
    }

您可以在while循环中看到第一个if statement,查看该消息是否为全局警报,如果是,则将其绘制为红色。

但是,如何制作只会被警告用户查看的消息?

任何想法?

1 个答案:

答案 0 :(得分:0)

在页面上隐藏div,然后使用JavaScript检查命令是否有效,如果不显示div

例如:

 <div id="invalidChatCommand" style="display:none">
       <p>
          The command you entered is invalid.
       </p>
 <div>

<script type="text/javascript">
    var chatCommand = document.getElementById("command").value;
    if (chatCommand.length == 1 && chatCommand.substring(0, 1) == "/") { 
       // invalid input detected, show the div
       var invalidCommand = document.getElementById("invalidChatCommand");
       invalidCommand.style.display = "block";
    } else {
       // Send command to the server
    }
</script>