2

所以我有一个我一直在编程的 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 />';
            }
        }
    }

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

但是,我怎样才能让只有被提醒的用户才能看到的消息呢?

有任何想法吗?

4

1 回答 1

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>
于 2013-06-20T18:39:54.210 回答