设计聊天室
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-10
用户IP <% B3=Request("B3") If B3="发言" Then 准备把用户发言写到聊天表中 Set Conn=Server.CreateObject("ADODB.Connection") Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};" Conn.Open connstr %> <% word=Request("word") if Request("word")="" then 如果什么都没写就发言,则默认发言为两眼开开,正在发呆 word="两眼开开,正在发呆....." end if %> <% sz = "''''''''''''''''" & Request("ip") &_ 把用户发言写到聊天表中 "'''''''''''''''', ''''''''''''''''"& Request("name") &_ "'''''''''''''''', ''''''''''''''''"& Request("D1") &_ "'''''''''''''''', ''''''''''''''''"& Request("D3") &_ "'''''''''''''''', ''''''''''''''''"& Request("D2") &_ "'''''''''''''''', ''''''''''''''''"& word & "''''''''''''''''" into_db = "INSERT INTO 聊天表 ( ip, 姓名, 颜色, 表情, 说话对象, 说话 ) VALUES(" &_ sz & ")" conn.Execute(into_db) conn.Close end if 3、用户离开 B5=Request("B5") If B5="离开聊天室" Then 如果用户选择离开聊天室则 Set Conn=Server.CreateObject("ADODB.Connection") Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};" Conn.Open connstr 从在线名单中把他删除 sql5="delete * FROM 在线用户表 WHERE 姓名=''''''''''''''''" & Request("name") & "''''''''''''''''" conn.Execute(sql5) name1=Request("name") sex1=Request("D4") ming1="管理员宣布" 管理员宣布此用户离开 sz1="" & name1 & sex1 & "有事先离开,欢迎再来" into_db2 = "INSERT INTO 聊天表 ( 姓名,说话 ) VALUES(''''''''''''''''" & ming1 & "'''''''''''''''',''''''''''''''''" & sz1 & "'''''''''''''''')" conn.Execute(into_db2) conn.close Response.Redirect "chat.asp" end if end if %> 把此文件存为chatadd1.asp 当我们把上面的程序保存在具有执行权限的服务器目录中,在客户端用浏览器打开时,我们见到了平常聊天室一样的用户登陆界面。我们于是输入用户名及密码,按发送时,我们所输入的资料便会暗中存入用户数据库中。接着便出现了发言筐,我们试着输入一句话,点发言按钮,这时,我们的发言便会带着我们所输入的话,我们所选择的说话对象,我们所选择的颜色以及表情写入发言数据库中。但是,发言之后,我们并没有发现任何语句出现在屏幕上,那是因为:这个程序本身负责的纯粹是把数据库写入数据库,他不会向客户端返回任何东西,除非你的输入是错误的。 聊天室还需要一个重要的程序,这个程序自动的、不断的读取数据库中最新的记录,把他显示在所有用户的浏览器上。这个程序与别的任何程序没有任何关系,他的唯一的任务是读取发言数据库中的数据,把他显示出来,他不管客户是否输入发言,不管客户对谁说话,不管客户选择什么表情与颜色。当这个聊天室即使没有一个人说话,这个程序也是不断的读取这个数据库,每N秒钟刷新一次,这个N是由编程者决定的。 由此,我们可知:登陆_发言部分与自动刷新部分是没有任何联系的。 在分析范例程序之前,我们最好来分析一下几点: 1、在我们往数据库中写入数据库时,记录是不断往数据表的尾部增加的,因此,我们必须知道哪一句话是新的,哪一句话在前面说的,我们知道,在MSACCESS数据库表中,有一个自动编号的字段ID,这个字段非常有用,ID最大 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 群球汇聚的效果下一篇: 格式化日期类SimpleDateFormat
关于设计聊天室的所有评论