聊天室开发详解(三)

2018-09-05 23:40

阅读:861

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

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如果登陆表单没有任何错误,则开始成为在线用户并进入聊天
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) _在在线用户表中添加这个用户


评论


亲,登录后才可以留言!