3 ASP建设聊天室详解


3 ASP建设聊天室详解

文章插图
3 ASP建设聊天室详解

文章插图

接下来 , 我们开始对用户登陆与发言实例程序进行分析:chatadd1.asp
1、用户登陆
指定缓存为真

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

用户登陆表单
请输入匿名:
密码:
【3 ASP建设聊天室详解】性别:







返回的错误变量

用户确在聊天界面中
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、用户发言
用户开始真正发言
<璬r=Request("REMOTE_ADDR")%>用户IP
用户发言表单