设为首页】 【加入收藏】 【网站地图】 【商品折扣
娱乐一生 娱乐明星
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
首页  |  java  |  .NET  |  C/C++  |  网页技术  |  php  |  asp  |  delphi  |  VC  |  VB开发  |  游戏开发  |  软件工程  |  Power Builder  |  Linux开发  |  Windows开发技巧
当前位置:首页 >> ASP实例 >> 聊天室建设详解三_ASP实例_src119.com

聊天室建设详解三_ASP实例_src119.com -

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

1、用户登陆

<%Re o e.Buffer=true%>                指定缓存为真
< ody bgcolor="#F8E17A" gt;
<%if Request(" ame")=" quot; then%>             判断用户名是否为空,以判断用户是否在聊天界面
<%addr=Request("REMOTE_ADDR")%>             获得用户IP
<form method=" OST" action="chatadd1.a quot gt;
< gt lt;i ut type="hidde quot; name="I quot; value=" lt;%=addr%> quot gt lt gt; 用户登陆表单
< gt;请输入匿名:<i ut type="text" name=" ame" size="15" gt;
密码:<i ut type=" a word" name=" a quot; size="15" gt;

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

<i ut type=" ubmit" value="发送" name=" 1" gt;
<i ut type="reset" value="复原" name=" 2" gt lt;/ gt;
</form>
<%=Request("a")%>                    返回的错误变量


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

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

If Request(" ame")=" quot; or Request(" a quot;)=" quot; Then    判断用户名与密码是否为空
a="名字或密码不能为空!< r> quot;               如果为空,则定义此错误变量
Re o e.Redirect "chatadd1.a ?a=" &am  a &am  " "      错误一旦出现立即返回登陆界面
end if

Set Co =Server.CreateObject("ADODB.Co ectio quot;)    如果客户输入非空,则开始查询数据库
Co tr="DBQ="+server.ma ath("chat.md quot;)+" DRIVER={Microsoft Acce  Driver (*.mdb)} quot;
Co .Open co tr
sql=" ELECT * FROM 用户表 WHERE 姓名='" &am  Request(" ame") &am  "'" 查看数据库中是否存在这个用户
Set Rs=co .Execute(sql)
If Rs.Bof OR Rs.Eof Then                 如果数据库中还没有这个用户,则
sz = "'" &am  Request("I quot;) &am _               把该用户写入用户数据库
"', '" am  Request(" ame") &am _
"', '" am  Request("D4") &am _
"', '" am  Request(" a quot;) &am  "'"
into_db = "I ERT INTO 用户表 ( IP, 姓名, 性别, 密码 ) VALUES(" &am _  写入用户数据库
sz &am  ")"
co .Execute(into_db)

Else                           如果数据库中已经存在这个用户,则
If Request(" a quot;)< gt;Rs("密码") Then           查看他的密码是否正确。
a="这个名字已经被别人使用,或者你输入的口令不对!< r> quot;   如果密码错误则定义错误信息
Re o e.Redirect "chatadd1.a ?a=" &am  a &am  " "      立即返回登陆界面并返回此错误信息
end if
end if


time1=now                   如果登陆表单没有任何错误,则开始成为在线用户并进入聊天
Set Co =Server.CreateObject("ADODB.Co ectio quot;)
Co tr="DBQ="+server.ma ath("chat.md quot;)+" DRIVER={Microsoft Acce  Driver (*.mdb)} quot;
Co .Open co tr
sql=" ELECT * FROM 在线用户表 WHERE 姓名='" &am  Request(" ame") &am  "'"  查看在线名单中是否存在这个用户
Set Rs=co .Execute(sql)
If Rs.Bof OR Rs.Eof Then                 如果在线名单中的确没有这个用户,则
sz = "'" &am  Request(" ame") &am _              在在线用户表中添加这个用户
"', '" am  Request("D4") &am _
"', '" am  time1 &am  "'"
into_db = "I ERT INTO 在线用户表 ( 姓名, 性别, 登陆时间 ) VALUES(" &am _  添加这个用户
sz &am  ")"
co .Execute(into_db)

name=Request(" ame")
sex=Request("D4")
ming="管理员宣布"                     管理员开始宣布欢迎这位(先生/女士)的光临
sz=" lt;font size=5 color=#FF0000> lt trong> quot; &am  "热烈欢迎" &am  name &am  sex &am  "的光临"
into_db2 = "I ERT INTO 聊天表 ( 姓名,说话 ) VALUES('" &am  ming &am  "','" &am  sz &am  "')"
co .Execute(into_db2)

end if

end if%>


2、用户发言
                              用户开始真正发言             
<%addr=Request("REMOTE_ADDR")%>              用户IP
<form method=" OST" action="chatadd1.a quot gt;         用户发言表单
< gt lt;i ut type="hidde quot; name="i quot; value=" lt;%=addr%> quot gt lt gt;
< gt lt;i ut type="hidde quot; name=" ame" value=" lt;%=Request(" ame")%> quot gt lt gt;
< gt lt;i ut type="text" name="word" size="70" gt lt;i ut type=" ubmit" value="发言" name=" 3" gt lt;i ut
type="reset" value="复原" name=" 4" gt;

< gt;颜色:< elect name="D1" size="1" style="color: rgb(0,0,128)" gt;
<option value=" " gt;黑色</optio gt;              颜色选择
<optio value="#ff0000" gt;红色</optio gt;
<optio value="#008000" gt;绿色</optio gt;
<optio value="#0000FF" gt;蓝色</optio gt;
<optio value="#800080" gt;紫色</optio gt;
<optio value="#008080" gt;青色</optio gt;
<optio value="#800000" gt;深红色</optio gt;
<optio value="#00ff00" gt;草绿色</optio gt;
<optio value="#00ffff" gt;海蓝色</optio gt;
</select>

<%
Set Co =Server.CreateObject("ADODB.Co ectio quot;)     查询更新在线用户
Co tr="DBQ="+server.ma ath("chat.md quot;)+" DRIVER={Microsoft Acce  Driver (*.mdb)} quot;
Co .Open co tr
sql=" ELECT * FROM 在线用户表 "
Set Rs=co .Execute(sql)
%>

对象:< elect name="D2" size="1" style="color: rgb(0,0,128)" gt; 从在线用户中选择说话对象
<option value="大家" gt;大家</optio gt;
<%Do While not Rs.Eof                   在线用户表单
if Rs("姓名")=Request("D2") then
s=" elected"                        这里的条件定义s是为了保持说话对象的不变性,
else                            使用户不必每次都选择说话对象,你也可以对颜色
s=" quot;                            与表情如法炮制。
end if%>
<option <%=s%> value=" lt;%=Rs("姓名")%> quot gt lt;%=Rs("姓名")%>(<%=Rs("性别")%>)</optio gt;
<%
Rs.MoveNext
Loop
%>
</select>


表情:< elect name="D3" size="1" style="color: rgb(0,0,128)" gt; 表情选择
<optio value="微笑着对" gt;微笑</optio gt;
<optio value="大笑着对" gt;大笑</optio gt;
<optio value="哭泣着对" gt;哭泣</optio gt;
<optio value="害羞着对" gt;害羞</optio gt;
<optio value="红着脸对" gt;脸红</optio gt;
<optio value="愤怒的对" gt;愤怒</optio gt;
<optio value="阴沉的对" gt;阴沉</optio gt;
<optio value="奸笑着对" gt;奸笑</optio gt;
</select>
&am am am am lt;i ut type=" ubmit" value="离开聊天室" name=" 5" gt;
&am am am lt;a href="admin.a quot gt;管理员入口</a>
</form>


<%
B3=Request(" 3")
If B3="发言" Then                      准备把用户发言写到聊天表中
Set Co =Server.CreateObject("ADODB.Co ectio quot;)
Co tr="DBQ="+server.ma ath("chat.md quot;)+" DRIVER={Microsoft Acce  Driver (*.mdb)} quot;
Co .Open co tr
%>

<%
word=Request("word")
if Request("word")=" quot; then            如果什么都没写就发言,则默认发言为两眼开开,正在发呆
word="两眼开开,正在发呆....."
end if
%>

<%
sz = "'" &am  Request("i quot;) &am _                  把用户发言写到聊天表中
"', '" am  Request(" ame") &am _
"', '" am  Request("D1") &am _
"', '" am  Request("D3") &am _
"', '" am  Request("D2") &am _
"', '" am  word &am  "'"
into_db = "I ERT INTO 聊天表 ( ip, 姓名, 颜色, 表情, 说话对象, 说话 ) VALUES(" &am _
sz &am  ")"
co .Execute(into_db)
co .Close

end if


3、用户离开

B5=Request(" 5")
If B5="离开聊天室" Then                   如果用户选择离开聊天室则
Set Co =Server.CreateObject("ADODB.Co ectio quot;)
Co tr="DBQ="+server.ma ath("chat.md quot;)+" DRIVER={Microsoft Acce  Driver (*.mdb)} quot;
Co .Open co tr                      从在线名单中把他删除
sql5="delete * FROM 在线用户表 WHERE 姓名='" &am  Request(" ame") &am  "'"
co .Execute(sql5)

name1=Request(" ame")
sex1=Request("D4")
ming1="管理员宣布"                      管理员宣布此用户离开
sz1=" lt;font size=5 color=#FF0000> lt trong> quot; &am  name1 &am  sex1 &am  "有事先离开,欢迎再来"
into_db2 = "I ERT INTO 聊天表 ( 姓名,说话 ) VALUES('" &am  ming1 &am  "','" &am  sz1 &am  "')"
co .Execute(into_db2)
co .close
Re o e.Redirect "chat.a quot;
end if

end if
%>

把此文件存为chatadd1.a 



 

娱乐图摘

更多 >>

靓丽清纯美女meimei

美女私房全裸照
导演劝女演员脱衣服(视频)

大胆火辣人体艺术写真(图)

黑丝妹妹热辣诱惑-丝袜美女妹妹

PLMM 漂亮妹妹图集-妹妹图库

全球美女图库-美女集中营

52MM 我爱漂亮妹妹-制服妹妹诱惑

图王图库-世界美女明星图片资料库
美女写真集锦

激情两性-解密性生活
浴室MM湿身内衣诱惑
邻家小妹洗澡被偷拍(视频)

热点文章

更多

· XMLHTTP+Javascript+Asp写得聊天室,无刷
· 让您的主页支持各种浏览设备(ASP+篇)(下)_ASP实例_
· 将你的网站设置为客户的信任站点--WSH方案_ASP实例_s
· W3 Jmail中文使用说明_ASP实例_src119.co
· 利用XSL和ASP在线编辑XML文档_ASP实例_src11
· 一种在线人数统计方法(只用1个APPLICATION)_AS
· aspemail组件的应用_ASP实例_src119.com
· ASP连接执行程序 _ASP实例_src119.c
· 嵌入式Web视频点播系统实现方法_ASP实例_src119.
· 利用ASP实现三个强大功能之三_ASP实例_src119.c

热点文章

更多