用ASP建立一个简单的聊天室
发布时间:2007-09-21 12:43:00
标签:聊天室,asp
经过一个阶段的asp学习,下面我们结合所学过的内容建立一个最简单的聊天室,虽然很简单,但是大家可以通过他来掌握一个聊天室建立的基本过程,并且可以不断的完善其功能.
下面介绍其主要步骤:
1,添加Global.asa文件里面的代码.这部分代码主要处理Application_onStart事件,在此事件中,定义了一个有15个元素的数据,并把它赋给了一个Application对象的属性.Global.asa文件的内容如下.
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
SUB Application_OnStart
dim maChats(15) 定义一个具有15个元素的数据.
Application("gaChats")=maChats 存储谈话的内容.
Application("giCounter")=0 存储已有的谈话数目.
END SUB
</SCRIPT>
2,在AspChat.asp文件中添加代码.注意,要把这部分代码添加在主页中的两条水平线之间,也就是文本中的两个<hr>之间.程序首先判断申请这幅主页时,是否用的是"Post"方法,因为本例中窗口的提交方法是"post".而一般第一次申请这幅主页时,用的是"get"方法.所以如果采用的是"post"方法的话,就说明是某一浏览者在提交自己的谈话内容时的重新申请,这就要进行处理,因为又有新的谈话内容了.否则,说明某一浏览者第一次申请此主页,并没有提交什么谈话,因此只需要把当前的谈话内容显示出来就可以了.
<p align="center"><font size=5>一个简单的聊天室</font></p>
<br>
<%
处理输入
if Request.ServerVariables("Request_Method")="POST" then
标明讲话者
if len(Request("txtWho"))>0 then
Session("ssWho")=Request("txtWho")
end if
封锁Application对象
Application.Lock
创建本地引用指针
mlCounter=Application("giCounter")
maChats=Application("gaChats")
如果写入的行数超过10,则重新开始记数.
if mlCoundter>9 then
mlCoundter=0
end if
增加用户的输入,计数器加1
maChat(mlChounter)=Session("ssWho")&":"&Request("txtCents")
mlCounter=mlCounter+1
把局部变量设置为在应用范围内有效.
Applicati "giCounter")=mlCounter
Application("gaChats")=maChat
消除Application对象的封锁
Application.Unlock
end if
%>
<%
写入TextArea
if Application("giCounter")=0 then
lstemp=Application("gaChats")(0)
else
for x=0 to Application("giCounter")-1
lstemp=lstemp&"<br>"Application("gaChats")(x)
next
end if
Response.white lstemp
%>
<hr>
3,最后把txtWho的内容初始化.也就是当浏览者输入过一次自己的姓名以后就不用再次输入了,为了区分每个不同的浏览者,在这里使用了"Session"对象.利用Session("ssWho")记载浏览者的姓名.下面的代码直接写在以上代码的下面存入AspChat.asp中.
<form method="POST" action="aspchat.asp" name="frmAsp">
<div align="center"><center><p>发言:<input type="text" name="txtCents" size="34"></p>
</center></div><div align="center"><center><p>对象:<input type="submit" value="送出" name="B1"></p>
</center></div>
</form>
4.完成.只要把2,3步的代码前后加入完整的htm文件代码然后存为aspchat.asp就可以了,这是一个很简单的asp聊天室程序,大家可以随着学习的深入不断加强它的功能!


猜你喜欢
- 用一条直线对数据进行拟合的过程称为回归。逻辑回归分类的思想是:根据现有数据对分类边界线建立回归公式。 公式表示为:一、梯度上升法每次迭代所有
- 问题问题1:如何解决事务提交时flush redo log带来的性能损失WAL是实现事务持久性(D)的一个常用技术,基本原理是将事务的修改记
- 索引和切片相当于是对数组中内容的读(read)或者查询(inquiry)。是我们获取有用信息(demanded infomation)的重要
- 引言知乎上有个热门问题,Python 未来会成为大众办公常用编程工具吗?在编程世界里,Python已经是名副其实的网红了。曾经一个学汉语言的
- import os os.os.listdir(path) 然后再一个一个的分析文件和目录 通过和dos命令dir的巧妙结合,可以很轻松的做
- 前言这篇博客针对《PPython+Qt身体特征识别人数统计》编写代码,功能包括了相片,摄像头身体识别,数量统计。代码整洁,规则,易读。应用推
- 本文主要介绍如何用Python设计一个经典小游戏:猜大小。在这个游戏中,将用到前面我介绍过的所有内容:变量的使用、参数传递、函数设计、条件控
- 我们知道深度神经网络的本质是输入端数据和输出端数据的一种高维非线性拟合,如何更好的理解它,下面尝试拟合一个正弦函数,本文可以通过简单设置节点
- 什么是接口接口是一种定义规范,规定了对象应该具有哪些方法,但并不指定这些方法的具体实现。在 Go 语言中,接口是由一组方法签名(方法名、参数
- 安装paramiko后,看下面例子:import paramiko#设置ssh连接的远程主机地址和端口t=paramiko.Transpor
- PostgreSQL引进“分区”表特性,解放了之前采用“表继承”+“触发器”来实现分区表的繁琐、低效。而添加分区,都是手动执行SQL。演示目
- 对于许多想学习JavaScript的朋友来说,无疑如何选择入门的书籍是他们最头疼的问题,或许也是他们一直畏惧,甚至放弃学习JavaScrip
- 父组件 <interval-number :number-content="blockHeight" v-if=&
- 前言new = old[:]Python老鸟都知道以上代码是什么意思。它复制列表old到new。它对于新手来说是种困惑而且应该避免使用这种方
- 用Go语言实现登录验证,有3次机会,如果用户名为 zhangsan ,密码为 123456 ,则提示登录成功,否则提示还有几次机会,次数用完
- 公司数据中心计划将海量数据做一次迁移,同时增加某时间字段(原来是datatime类型,现在增加一个date类型),单表数据量达到6亿多条记录
- 前言任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对my
- 搞了好几天的表格字体格式,一直想找一种能直接一次性修改表格所有字体格式的方法(函数),但是无论用什么方法都无法修改表格字体的格式,原因应该是
- 本文实例讲述了Go语言对字符串进行MD5加密的方法。分享给大家供大家参考。具体实现方法如下:package mainimport (&nbs
- 本文实例为大家分享了JS实现九宫格抽奖的具体代码,供大家参考,具体内容如下上代码:<div class="wrapper&q