动态网站制作指南



当前位置 > 网站建设学院 > 网络编程 > ASP实例 Rss
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket

聊天室建设详解三


发表日期:2000-7-30


接下来,我们开始对用户登陆与发言实例程序进行分析: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("D4") &_
"', '"& time1 & "'"
into_db = "INSERT INTO 在线用户表 ( 姓名, 性别, 登陆时间 ) VALUES(" &_  添加这个用户
sz & ")"
conn.Execute(into_db)

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

end if

end if%>


2、用户发言
                              用户开始真正发言             
<%addr=Request("REMOTE_ADDR")%>              用户IP
<form method="POST" action="chatadd1.asp">         用户发言表单
<p><input type="hidden" name="ip" value="<%=addr%>"><p>
<p><input type="hidden" name="name" value="<%=Request("name")%>"><p>
<p><input type="text" name="word" size="70"><input type="submit" value="发言" name="B3"><input
type="reset" value="复原" name="B4">

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

<%
Set Conn=Server.CreateObject("ADODB.Connection")     查询更新在线用户
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 在线用户表 "
Set Rs=conn.Execute(sql)
%>

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


表情:<select name="D3" size="1" style="color: rgb(0,0,128)"> 表情选择
<option  value="微笑着对">微笑</option>
<option  value="大笑着对">大笑</option>
<option  value="哭泣着对">哭泣</option>
<option  value="害羞着对">害羞</option>
<option  value="红着脸对">脸红</option>
<option  value="愤怒的对">愤怒</option>
<option  value="阴沉的对">阴沉</option>
<option  value="奸笑着对">奸笑</option>
</select>
&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="离开聊天室" name="B5">
&nbsp;&nbsp;&nbsp;<a href="admin.asp">管理员入口</a>
</form>


<%
B3=Request("B3")
If B3="发言" Then                      准备把用户发言写到聊天表中
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
%>

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

<%
sz = "'" & Request("ip") &_                  把用户发言写到聊天表中
"', '"& Request("name") &_
"', '"& Request("D1") &_
"', '"& Request("D3") &_
"', '"& Request("D2") &_
"', '"& word & "'"
into_db = "INSERT INTO 聊天表 ( ip, 姓名, 颜色, 表情, 说话对象, 说话 ) VALUES(" &_
sz & ")"
conn.Execute(into_db)
conn.Close

end if


3、用户离开

B5=Request("B5")
If B5="离开聊天室" Then                   如果用户选择离开聊天室则
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr                        从在线名单中把他删除
sql5="delete * FROM 在线用户表 WHERE 姓名='" & Request("name") & "'"
conn.Execute(sql5)

name1=Request("name")
sex1=Request("D4")
ming1="管理员宣布"                      管理员宣布此用户离开
sz1="<font size=5 color=#FF0000><strong>" & name1 & sex1 & "有事先离开,欢迎再来"
into_db2 = "INSERT INTO 聊天表 ( 姓名,说话 ) VALUES('" & ming1 & "','" & sz1 & "')"
conn.Execute(into_db2)
conn.close
Response.Redirect "chat.asp"
end if

end if
%>

把此文件存为chatadd1.asp

关注此文的读者还看过:
·2012-5-17 10:28:40 ASP中实现文件上传方法的研究
·2012-5-17 10:27:28 ASP直接调用EXCEL数据的例子(不用ODBC)
·2012-5-17 10:25:55 用数组实现数据记录的批量录入方法
·2012-5-17 10:22:56 利用Jmail.Message发送邮件
·2012-5-17 10:22:43 综合的判断用户输入的合法性的函数
·2012-5-17 10:20:39 完整的站点访问统计系统(一:数据库篇)
·2012-5-17 10:20:21 通过ASP与ACCESS数据库建立连接(附源码)(2)
·2012-5-17 10:18:47 ASP后台快速调用Mysql 数据库
·2012-5-17 10:16:38 使用AspImage制作图形(二)
站长推荐 PS笔刷下载 在线翻译 系统进程 广告代码
  发表评论
姓 名: 验证码:
内 容:
教程搜索服务
ASP源码推荐
·飞飞网游装备点卡交易单用户系统
·QQ邮箱编辑器 v1.0 (小小菜刀AS
·技术公司网站打包下载
·WpsCMS v3.2 新春贺岁版
·雷驰html商城
·2XL 留言本 v2.1
·cc驿站 v1.4
·AACMS v0.2
·手机短信验证功能和简单的注册功
·花香盈路(Hxcms) v7.6 Build 11
·站长Ceo论坛极品美化版 v1.0
·Snitz Forums 2000 v3.4.05
项目外包信息
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·做B2C网站 20000元
·Android或QT软硬件平台设计(工
·网站首页FLASH
·网站PSD稿设计
·企业网站整站网页设计(美观大气
·网站页面设计及套入程序
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·PPT设计
发布信息 浏览信息
邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<ASP实例>的内容


网络编程文章分类
ASP教程
ASP实例
ASP技巧
ASP文摘
PHP教程
PHP技巧
PHP实例
PHP文摘
JSP教程
JSP技巧
JSP实例
JSP文摘
ASP.NET教程
ASP.NET技巧
ASP.NET实例
ASP.NET应用
xml教程
xsl教程
xml技巧
C#教程
C#应用
Delphi教程
Perl教程
Shell教程
Ajax教程
Visual Basic教程
Java教程
J2EE/J2ME教程
C/C++教程
移动解决方案
移动短信技术
移动行业动态
软件工程
WordPress
Android开发
站长工具:Google PR查询|Alexa排名查询|网站速度测试|CSS在线编辑器|OPEN参数生成器|弹出式窗口代码产生器|密码登录生成器|在线按钮生成器|Meta标签生成器|邮箱图标在线生成|多色彩特效字代码生成器|网页代码调试器|在线FTP登陆|Flash取色器|配色代码对照表|配色辞典|CSS生成器|CSS在线压缩|广告代码|框架网页代码生成器|js/vbs加密|md5加密|进制转换|UTF-8 转换工具|在线调色板|Html转换js|Html转换asp|Html转换php|Html转换perl
实用工具:汉字翻译拼音|拼音字典|在线翻译|天气预报|火星文|在线网速测试|符号对照表|个税计算|理财工具|黄金价格|购房银行按揭利率计算|汇率查询|经典小工具|汉字简繁转换|普通单位换算|公制单位换算|生辰老黄历|国内电话区号|国家代码与域名缩写|文字加密解密|元素周期表|健康查询|世界时间|全国各地车牌查询|全国车辆交通违章查询|万年历|二十四节气|汉字横竖排版|手机号码查询|计算器|ip搜索|酒店预订|机票预订
广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅
Copyright © 2000-2012 www.knowsky.com All rights reserved | 沪ICP备05001343号