PC6下载站

分类分类

聊天室建设详解三

关注+2004-10-07作者:蓝点

接下来,我们开始对用户登陆与发言实例程序进行分析: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)

%>



对象:





表情:

&nbsp;&nbsp;&nbsp;&nbsp;聊天室" name="B5">

&nbsp;&nbsp;&nbsp;管理员入口







<%

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




展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消