一个用ASP实现的聊天室,有一个功能怎么加进去,哪位高手来帮一下忙,指点一下。

空无 2008-04-17 02:39:17
(源程序我传了几次都没传上来,我把它放在了hgd6370@163.com(临时申请的)草稿箱得附件里了,密码是125858,麻烦你们了(邮箱里就这一个东西))
本来是要用ASP实现聊天室功能的,但是不知道怎么实现列出在线人列表得功能,改了几次都不行,快崩溃了,还望高手指点一二。
...全文
194 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
空无 2008-04-18
我用EDIT PLUS把源文件打开发上来,大家看看:一共四个ASP文件如下
文件1 send.asp

<%@ LANGUAGE="JSCRIPT" %>
<% flag=1;
username=Session("username");
no=Session("no");
mywords=Request("message");
mycolor=Request("mycolor");
len_mywords=mywords.length;
var i; for(i=1;i<=len_mywords;i++)
{ if("<"==mywords.subString(i,1))
{flag=0;}
}
if(1==flag)
{mywords="姓名:"+username+" " +"机器号:"+no +"说:"+"<font color="+ mycolor +">"+mywords;
Application.Lock();
Application("talk")=Application("talk") +mywords +"</font> <br>";
Application.UnLock();
}
%>
<style type="text/css">
<!--
body {
background-color: #FFCCCC;
}
-->
</style>
<div align="center">
<h1><a href="send.htm"><strong><em>返回聊天页面</em></strong></a></h1>
</div>
文件二 loginfail.asp

<%@ language=JScript %>
<%try
{username=Request("username")(1);
no=Request("no")(1);
len_no=no.length;
len_username=username.length;
if(username.length>0)
{Session("username")=username;
Session("no")=no;
Response.Redirect("chatpage.asp");}
else{
Response.Write("登陆失败!<a href='login1.htm'>请重新登录</a>");

}

}
catch(e){ }

%>
文件三 chatpage.asp

<html>
<head>
<title>聊天页面</title>
</head>
<frameset rows="*,100" >
<frame src="end.asp">
<frame src="send.htm">
</frameset><noframes></noframes>
</html>

文件四 end.asp

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="refresh" content="5; url=end.asp">
<script language="JavaScript1.1">
function scrollWindow()
{ this.scroll(0,75000);
setTimeout('scrollWindow()',200);
}
scrollWindow();
</script>
<meta name="generator" content="Microsoft Visual Studio 7.0">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style type="text/css">
<!--
body {
background-color: #CCFF66;
}
-->
</style></head>

<body><p align="right">
</p>
<% Response.Write(Application("talk"));%>
</body>
</html>

还有我的HTML源文件:也是两个;如下:
文件一 login1.htm
<%@ Language=VBScript%>
<html>
<head>
<title>欢迎进入本聊天室</title>

<script language="jscript">
<!--
function Check()
{
var NotNull
NotNull=true

if (document.Login.username.value=="")
{
window.alert("请输入姓名")
NotNull=false
}

if (document.Login.no.value=="")
{
window.alert("请输入机器号")
NotNull=false
}


return NotNull

}

//-->
</script>


<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>



<body>


<p align="right"><em><font color="#0080ff"><big><strong>本聊天室由busyants制作</strong></big></font></em></p>

<form name="Login" method="post" action="loginfail.asp" align="center" onSubmit="return Check()">
<div align="center"><center><table border="1" width="36%" bgColor="#ffe4b5" style="HEIGHT: 237px; WIDTH: 306px" bordercolor="#0000ff">
<tr>
<td width="100%" align="middle" bgcolor="#ffffff" bordercolor="#808080"><big><big><strong><font color="#008080" face="隶书">欢迎进入busyants聊天室</font></strong></big></big></td>
</tr>
<tr>
<td width="100%" align="middle" bgcolor="#ccffff">
<p style="BACKGROUND-COLOR: antiquewhite" align="center"><font color="#800080">请输入你的大名:<BR></font>
<input type="text" name="username" maxlength="10" > <br><font color="#800080">请输入你的机器号:<br></font>
<input type="text" name="no" maxlength="10" ><BR>
<input type="submit" value="提交" name="submit">
<input type="reset" value="清除" name="Reset"></p>
<tr>
<td width="100%" align="middle" bgcolor="#ffccff"><i><font face="隶书"><font color="#0000ff">
<marquee behavior="alternate" scrolldelay="200" scrollamount="3" style="COLOR: #008000">目前本聊天室共有<% =howmanyusers %>人聊天</marquee>
</font></font></i></td>
</tr></table>
</center></div>
</form>
</body>


</html>


</body>
</html>
文件二;send.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<style type="text/css">
<!--
.style2 {color: #CC0066}
-->
</style>
<body bgcolor="lightblue">
<form method="post" action="send.asp">
<input name="message" type="text" size="50">
<select size="1" name="mycolor">
<option value="red" >红色</option>
<option value="blue">蓝色</option>
</select>
<input type="submit" value="send">
<marquee behavior="alternate" scrolldelay="200" scrollamount="3" style="COLOR: #008003">
<span class="style2">欢迎进入本聊天室 欢迎进入本聊天室</span>
</marquee>

</form>

</body>
</html>

写的很菜,让前辈们见笑了,还望多多指导哦啊。
-----诚挚的菜鸟













回复
没时间去调试这样的东西,不行的话,那就是你的每个会员在线的唯一标志获取不对,或者没有定义
回复
空无 2008-04-18
说的是对啊,不过我试过很多方法了,就是不行,你们到邮箱里下下来试试,看是不是还有其他问题,麻烦你们了。可能是我太菜了吧,http://mail.163.com/
回复
raoxu45 2008-04-18
Session和Application都可以实现在线人员的统计。

也可以把它写入数据库实现在线人员统计。

回复
那不是每一个在线的会员都会有一个不同的会话吗?
你根据这个来做不可以了?
既然有不同的标志那还不好弄?
回复
空无 2008-04-17
Session和Application
回复
http://blog.csdn.net/chinmo/archive/2008/03/04/2145674.aspx自己看这个ASP+AJAX的
回复
tang3dashu 2008-04-17


刚好原来做过这块,说说我自己的做法。我是jsp做的。不过原来都差不多。

大概分三个部分
1 聊天
2 发言
3 人员

聊天 和 人员 因为要动态刷新 最好有ajax实现。

人员的话其实道理也很简单 div+table 5秒刷一次
人员必须有个一字段标识,“是否在线”
当人员点击进入聊天室的时候 改字段变化,
人员页面5秒刷一次 吧表中字段为在线的 数据取的。至于数据怎么封装的页面 你自己看的办list挺不错。
大概是这样做的。和你分享下。
期待更好的做法!
回复
你是怎么标志会员在线的?使用什么?
回复
空无 2008-04-17
不好意思,弄错了,是在收件箱里,。
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-04-17 02:39
社区公告
暂无公告