聊天室开发详解(三)
程序员文章站
2022-03-26 17:49:58
下面我们开始对用户登陆与发言实例程序进行分析:chatadd1.1、用户登陆<%response.buffer=true%> ...
下面我们开始对用户登陆与发言实例程序进行分析:chatadd1.
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") &_ 在在线用户表中添加这个用户
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") &_ 在在线用户表中添加这个用户