当前位置: 首页 > 图文教程 > 网络编程 > ASP > 聊天室建设详解三

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

ASP 中的 聊天室建设详解三


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 55 ::
收藏到网摘: n/a

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

1、用户登陆

<%Response.Buffer=true%>                指定缓存为真
<body bgcolor="#F8E17A">
<%if Request("name")="" then%>             判断用户名是否为空,以判断用户是否在聊天界面
<%addr=Request("REMOTE_ADDR")%>             获得用户IP
<form method="POST" action="chatadd1.asp">
<p><input type="hidden" name="IP" value="<%=addr%>"><p> 用户登陆表单
<p>请输入匿名:<input type="text" name="name" size="15">
密码:<input type="password" name="pass" size="15">

性别:<select name="D4" size="1" style="color: rgb(0,0,128)">
<option value="先生">先生</option>
<option value="女士">女士</option>
</select>

<input type="submit" value="发送" name="B1">
<input type="reset" value="复原" name="B2"></p>
</form>
<%=Request("a")%>                    返回的错误变量


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

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

If Request("name")="" or Request("pass")="" Then    判断用户名与密码是否为空
a="名字或密码不能为空!<br>"               如果为空,则定义此错误变量
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="这个名字已经被别人使用,或者你输入的口令不对!<br>"   如果密码错误则定义错误信息
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(