聊天室架构(聊天室设计与实现)
admin
2022-12-23 13:50:30
Pro/E5.0产品设计视频教程_办公百科网  AutoCAD2011机械视频教程_办公百科网

接下来,我们开始对用户登陆与发言实例程序进行分析:chatadd1.asp

1、用户登陆

<%Response.Buffer=true%>                指定缓存为真

<%if Request("name")="" then%>             判断用户名是否为空,以判断用户是否在聊天界面
<%addr=Request("REMOTE_ADDR")%>             获得用户IP


用户登陆表单

请输入匿名:
密码:

性别:




<%=Request("a")%>                    返回的错误变量


<%else%>                        用户确在聊天界面中

<%B1=Request("B1")
If B1="发送" Then                    开始判断用户名与密码        

If Request("name")="" or Request("pass")="" Then    判断用户名与密码是否为空
a="名字或密码不能为空!
"               如果为空,则定义此错误变量
Response.Redirect "chatadd1.asp?a=" & a & " "      错误一旦出现立即返回登陆界面
end if

Set Conn=Server.CreateObject("ADODB.Connection")    如果客户输入非空,则开始查询数据库
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 用户表 WHERE 姓名=" & Request("name") & "" 查看数据库中是否存在这个用户
Set Rs=conn.Execute(sql)
If Rs.Bof OR Rs.Eof Then                 如果数据库中还没有这个用户,则
sz = "" & Request("IP") &_               把该用户写入用户数据库
", "& Request("name") &_
", "& Request("D4") &_
", "& Request("pass") & ""
into_db = "INSERT INTO 用户表 ( IP, 姓名, 性别, 密码 ) VALUES(" &_  写入用户数据库
sz & ")"
conn.Execute(into_db)

Else                           如果数据库中已经存在这个用户,则
If Request("pass")<>Rs("密码") Then           查看他的密码是否正确。
a="这个名字已经被别人使用,或者你输入的口令不对!
"   如果密码错误则定义错误信息
Response.Redirect "chatadd1.asp?a=" & a & " "      立即返回登陆界面并返回此错误信息
end if
end if


time1=now                   如果登陆表单没有任何错误,则开始成为在线用户并进入聊天
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 在线用户表 WHERE 姓名=" & Request("name") & ""  查看在线名单中是否存在这个用户
Set Rs=conn.Execute(sql)
If Rs.Bof OR Rs.Eof Then                 如果在线名单中的确没有这个用户,则
sz = "" & Request("name") &_                在在线用户表中添加这个用户
", "& Request("D4") &_
", "& time1 & ""
into_db = "INSERT INTO 在线用户表 ( 姓名, 性别, 登陆时间 ) VALUES(" &_  添加这个用户
sz & ")"
conn.Execute(into_db)

name=Request("name")
sex=Request("D4")
ming="管理员宣布"                     管理员开始宣布欢迎这位(先生/女士)的光临
sz="" & "热烈欢迎" & name & sex & "的光临"
into_db2 = "INSERT INTO 聊天表 ( 姓名,说话 ) VALUES(" & ming & "," & sz & ")"
conn.Execute(into_db2)

end if

end if%>


2、用户发言
                              用户开始真正发言             
<%addr=Request("REMOTE_ADDR")%>              用户IP

         用户发言表单


">


type="reset" value="复原" name="B4">

颜色:

<%
Set Conn=Server.CreateObject("ADODB.Connection")     查询更新在线用户
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 在线用户表 "
Set Rs=conn.Execute(sql)
%>

对象:


表情:
    
   管理员入口


<%
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



以上就是ASP建设聊天室详解(3),希望大家喜欢,请继续关注办公百科网。

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...