2014-04-25 104 views
-1

最近,我用PHP创建了一个聊天框。没有问题,但它不是很方便,因为我需要手动刷新页面以检查新消息。PHP聊天框:如何自动更新

我试图找到一种方式,以便聊天框会自动检查新消息,它会显示新消息。

但是,我能做些什么?我可以

  1. 使用作为聊天框,并找到一种方法来刷新iframe;
  2. 使用javascript检查SQL数据库(这是不安全的,在另一个问题中讨论,但有可能)
  3. 使用ajax - 我不知道任何关于它,所以我不能这样做。

以上哪种方法最适合(如果可能,最简单的一种)?

回答

2

阿贾克斯将是你最好的选择,但相信我,这不是那么糟糕。

我讨厌把它变成一个教程,但这里有一个大纲。

  1. 创建一个php文件,获取消息,如果有的话,并以某种方式打印它们。也许一些列表项? echo "<li>$message</li>"

  2. 创建一个jquery间隔,每隔一秒钟检查一次消息。

  3. 有你的间隔调用函数的代码是这样的:

    $.get("get_messages.php", function(data) { //data contains the file's output 
    
    $("#messages-box").append(data);//insert the new messages into a div in your html 
    
    }); 
    

这真的就是这么简单!

+0

我同意你的观点,但是我会尝试iframe和javascript soution。我会尝试一下,我忘了告诉你,它与SQL数据库连接,所以我不能使用你的方法。 – Jamie

+0

@Jamie为什么连接数据库会成为问题?这可以在get_messages.php中完成。 –

+0

我可以使用普通的JavaScript间隔吗?我不能使用jQuery。我对此不甚了解。 – Jamie

0

Ajax只是javascript的一个组件。要使用php和javascript创建聊天框,最简单的解决方案是使用setInterval函数刷新聊天框