使用PHP制作聊天室 随风潜行 2001年 45期 实现聊天室有多种方法,我们可以用CGI、ASP等等。在这儿,我们看看使用PHP+MySQL是如何实现一个聊天室的。 #1实现技术 聊天室其实是多人共同使用的一段程序。在BBS中我们也可以聊天,但Web聊天室和BBS的聊天室不同的地方是聊天室每收到一句话,就马上分送给在聊天室的网络使用者,非常快捷方便,虽然BBS使用Telnet的方式也可以实现即时聊天,但是这样的方式对服务器的配置要求比较高。 制作聊天室所需要使用到的技术主要是: Server Push Client Pull Server Push由Web服务器将资料以多重 MIME编码的方式,送给客户端,目前较少网站使用这种方式;而Client Pull则利用了HTML的META标签,并利用http-equiv=“Refresh”的属性,表示资料要重新载入,至于载入时间,则利用content属性来达成。 这里我们就使用PHP+MySQL来实现一个最简单的聊天室。 #1实现步骤 #21.熟悉META标签的使用 标签与其他标签不同,它不是成对出现的,而是只有初始标签,没有结束标签。它通常放在两个
标签之间,以便让浏览器可以尽快准备更新用户端的网页。 它包括三个重要属性 NAME HTTP-EQUIV CONTENT HTTP-EQUIV和CONTENT属性是HTML文档向浏览器传送信息的通道。 ”> 这个语句是告诉浏览器,每隔15秒重新刷新一次。URL<........>表明刷新时指向自身。 #22.编写聊天室的框架 如果每15秒刷新一遍屏幕,那么我们输入的信息岂不也被刷新了吗?不要急,我们可以使用FRAME框架的方法来划分用户的输入和服务器的输出。 程序代码如下: …… //框架的上半部分,载入display.php //框架的上半部分,载入write.php …… 我们的网页被分成两格。上面可以显示聊天的内容,下面用户可以输入信息。分别由display.php和write.php完成。 有了框架,那么怎么把每个人输入的语句储存起来呢?我们可以建立一个数据库存放聊天的信息。例如可以用MySQL建立一个名为talk的数据表来储存聊天信息。 create table talk( userid int(5) not null auto_increment username varchar(20) not null date varchar(8) not null text varchar(50) not null primary key (userid) );//创建聊天室所使用的数据库表 #23.编写将用户输入的信息提交给服务器,并存储在MySQL的talk表中 程序代码如下: //这是文件write.php if(($username!=“”)and($text!=“”)) { $connect=Mysql_connect(“yourhost”,“webuser”,“root”);//连接MySQL数据库 $query=“insert into talk(username,date,text) values('$username','$date','$text)”;//插入语句 $result=Mysql_db_query(“myweb”,$query);}//插入执行 ?>