所以我有一个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
,查看该消息是否为全局警报,如果是,则将其绘制为红色。
但是,如何制作只会被警告用户查看的消息?
任何想法?
答案 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>