实现聊天室的悄悄话功能(上)

2016-01-29 19:26 24 1 收藏

实现聊天室的悄悄话功能(上),实现聊天室的悄悄话功能(上)

【 tulaoshi.com - ASP 】

       实现聊天室的悄悄话功能(上)
  作者:网络之门
    几个要好的网友在聊天室里闲聊的时侯,总会遇上有些话题是不想同一聊天室内别的聊友看见的,那么聊天室支持悄悄话功能将是什分有必要的了,实现悄悄话的方法很多,现在小虎介绍一下利用session对象来实现它,用session对象来实现悄悄话,是有优缺点的,因为session对象的应用,其实就是客户端cookies的使用。如果客户端cookies不支持或关闭了,那么程序运行起来就有问题了。那么使用session对象就没好处了吗??非也,至少在编程上大大减少了工作量嘛,试想一下如果需要保存该用户的聊天名字,那么使用session对象就能直接保存他的名字了,如果没有session对象。解决的方法看来就只有在处理发言的FORM里设几个隐含的textbox对象来保存,这样处理起来会比教烦锁,但好处是通用性广,就算浏览器不支持cookies仍然可用。
    说到这里,大伙不妨试试网上众多的ASP聊天室,试把浏览器的安全选项(总是接受cookies关了)看看那个聊天室仍然正常地能使用。那个就问题百出来。。呵呵~~不要找小虎的聊天室来试哦....我的聊天室也需要cookies来支持的。不用session对象编程真是烦锁很多。而且大部分浏览器的安全配置的默认值是总是接受cookies。所以也不用太但心,只有少部分的用户是比教特别的。
    现在从聊天室的发言开始,到处理发言,显示发言,一步一步地让大家了解一下是如何处理的,最后就加上悄悄话功能。
    首先,我们的聊天室主要提供如下元素:发言人(你的名字),动作(叫嚷,抱抱...等),对象(这句话是向谁说的呢?),发言内容等四大元素。
    其中发言人(你的聊天名字)的名字是保存在发言FORM的user隐藏文本框中,这样每当发言的时侯,在处理发言的says.asp程序里,就可以用request.form("user")来取得聊天名字。而动作则是由下拉框action来提供的,你可以自定义很多的动作类型,以满足不同聊友的需要。而发言对象,也是由下拉框whoto来选定,这些名单是列出当前聊天室内所有用户的名称。如何判断有新用户进聊天室以及退出处理,这里先不说了。因为构造一个完整的聊天室要做的工作还是挺多的。最后由一个says文本框提供发言内容。
    有了这几个主要的聊天元素。我们就可以进行发言处理了。
    请看看下面的程序片段
  '取得说话内容,并过滤其中的脚本语句
  usersays=request.form("says")
  if instr(usersays,"<script")>0 then
  usersays=""
  end if
  
  '判断是否有谈话内容,没有的话就不作处理
  if len(usersays)<>0 then
  session("whoto")=request.form("whoto")
  session("action")=request.form("action")
  if instr(usersays,chr(39))>0 then
  usersays=replace(usersays,chr(39),""&chr(39))
  end if
  if instr(usersays,chr(34))>0 then
  usersays=replace(usersays,chr(34),""&chr(34))
  end if
  
  application.lock
  
  '定义一个交谈缓冲区,后面将给大家仔细分析一下
  
  dim chats(20)
  for n=1 to 20
  chats(n)=application("chats")(n)
  next
  username=request.Form("user")
  
  
  usertime=Time
  usertime="("&right(usertime,8)&")"
  user_whoto=request.Form("whoto")
  user_action=request.Form("action")
  if application("counter")>19 then
  application("counter")=0
  end if
  '不是耳语就加一
  if request.form("action")<>"耳语" then
  application("counter")=application("zj_1counter")+1
  counter=application("zj_1counter")
  '用户的动作处理
  
  select case request.FORM("action")
  case "说话"
  if request.FORM("whoto")="ALL" then
  chats(counter)="<font color=blue>"&usertime&"</font> <font color=black>"&username&"</font> :<font color=#0000aa> "&usersays&"</font><BR><BR>"
  else
  chats(counter)="<font color=blue>"&usertime&"</font> <font color=black>"&username&"</font> <i>与<font color=#00bb00> "&request.FORM

来源:http://www.tulaoshi.com/n/20160129/1509392.html

延伸阅读
手机QQ悄悄话怎么用   1)打开手机QQ,在栏选择。   2)找到并点击,点击下方的标志。   3)然后选择要发送的QQ好友以及填写要发送的内容,完成后点击右上角即可给好友发送一条匿名的悄悄话。           注 :更多精彩教程请关注图老师手机教程栏目,图老师手机...
QQ悄悄话怎么激活?   在新版手机QQ 5.1.1版本中,新加入了悄悄话功能,可以以匿名的方式向您的QQ好友发送悄悄话,可以带来不一样的沟通体验。不过,由于目前手机QQ悄悄话还处在内测功能,需要使用此能够,如要先激活悄悄话功能。QQ悄悄话怎么激活?下面小编以详细的手机QQ悄悄话激活图文教程,告诉大家如何激活手机QQ悄悄话,详细步...
如何关闭qq悄悄话?   首先,我们打开手机qq,点击页面下方的联系人 然后点击如图所示进入生活服务 点击进入qq悄悄话 然后选择右上角的按钮进入设置悄悄话 将使用悄悄话功能关闭即可
标签: 孕前准备
2000年9月11日 16:31 精品购物指南 刚刚结婚的年轻女性经常会面对这样一种尴尬的情况,在不想要孩子的时候,意外地“有了”,这时该怎么办呢?流产恐怕是不得不面对的选择。接下来的担心是,流产会不会影响今后的生育,到想要孩子的时候会不会又怀不上了呢?人工流产和药物流产,选择哪种流产的方式对今后的生育影响小呢? ...
手机QQ2015悄悄话怎么用   1首先你要安装QQ5.1或以上版本。打开手机QQ,依次点击联系人–生活服务–QQ悄悄话。点击底部的钢笔图标,新建悄悄话。 2.点击选择好友,输入你按捺已久的那些话,不要再犹豫了,点发送吧。 3.如果你是TA,你可以直接回复。

经验教程

75

收藏

36
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部