-
您的位置:首页 → 精文荟萃 → 软件资讯 → 聊天室建设详解三
聊天室建设详解三
时间:2004/10/7 19:17:00来源:本站整理作者:蓝点我要评论(0)
-
接下来,我们开始对用户登陆与发言实例程序进行分析: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
<%
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
相关阅读
Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
-
热门文章
360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3
最新文章
微信3.6.0测试版更新了微信支付漏洞会造成哪
360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗
人气排行
xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本
查看所有0条评论>>