ubb风格论坛中自您上次来后有新的贴子的功能的asp实现

牛牛最美伲

牛牛最美伲

2016-01-29 19:29

ubb风格论坛中自您上次来后有新的贴子的功能的asp实现,ubb风格论坛中自您上次来后有新的贴子的功能的asp实现

                
  
  关键词:ASP, ADO
  
  这是近来用asp改写ubb论坛的体会,不当之处请多多指正
  可参照chinaasp的网页俱乐部(就是个ubb风格的论坛)
  ubb论坛有个非常好的特点,就是会标志自您上次访问以来新增的贴子,主要在两个地方
  :讨论区列表和某一讨论区的帖子列表。
  通常所用的图形为on.gif,off.gif(讨论区列表),closed.gif,closedb.gif(某一讨论区的
  贴子列表),其中on.gif,closedb.gif表示自上次访问后新增或修改过的贴子。
  实现:
  通过综合使用Session和Cookie变量来实现
  1、Session变量
  firstin, 标识是否第一次进入该页面,还是通过刷新进入该页面
  2、Cookie变量
  这里作了简化,取消了原正式版ubb中的sessionlogin/lastLogin两个Cookie
  只使用sessionloginDT/lastLoginDT两个Cookie
  sessionLoginDT-保存上次登录的时间
  lastLoginDT-保存本次登录的时间
  原理:
  取上次登录时间为本此会话时间,并将此时间同讨论区最后一个贴子的时间或某一讨论区各
  主题的最后时间比较,根据实际情况选择适当的图形,如:
  
  if rsList.Fields("status")="close" then
      '主题关闭
      Response.Write ""
  else
      'Lastly为主题的post时间
      if rsList.Fields("Lastly")>sessionLoginDT then
      
          
          Response.Write ""
      else
          Response.Write ""
      end if
  end if
  
  页面:讨论区列表(default.asp)
  代码片段:
  if isempty(Session("FirstIn")) then
      '第一次进入或不允许使用Cookie
  
      '取上次访问时间并赋值给sessionLoginDT
      if not isempty(request.cookies("lastLoginDT")) then
          sessionLoginDT=request.cookies("lastLoginDT")
          if not isdate(sessionLogindt) then
              sessionlogindt=formatdatetime(now)
          else
              sessionLoginDT=cdate(sessionLoginDT)
          end if
      else
          sessionLoginDT=formatdatetime(now)
      end if
      '写cookies
      '写sessionLoginDT
      response.cookies("sessionLoginDT")=sessionLoginDT
      response.cookies("sessionLoginDT").expires=date+365
      response.cookies("lastLoginDT")=lastLoginDT
      response.cookies("lastloginDT").expires=date+365
      Session("FirstIn")="yes"
  else
      '刷新,同时说明允许cookie
      Session("FirstIn")="no"
      '读时间
      if not isempty(request.cookies("SessionLoginDT")) then
          sessionLoginDT=request.cookies("SessionLoginDT")
          'sessionlogindt不合法,一般不存在此问题
          if not isdate(sessionLogindt) then
              sessionlogindt=formatdatetime(now)
          else
&n

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/asp/)
展开更多 50%)
分享

猜你喜欢

ubb风格论坛中自您上次来后有新的贴子的功能的asp实现

ASP
ubb风格论坛中自您上次来后有新的贴子的功能的asp实现

论坛中有新贴子功能的实现

ASP
论坛中有新贴子功能的实现

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用ASP实现论坛的UBB功能(二)

ASP
用ASP实现论坛的UBB功能(二)

用ASP实现论坛的UBB功能(一)

ASP
用ASP实现论坛的UBB功能(一)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ASP中利用“正则表达式” 对象实现UBB风格的论坛

ASP
在ASP中利用“正则表达式” 对象实现UBB风格的论坛

UBB代码在论坛中的应用

Web开发
UBB代码在论坛中的应用

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Linux Shadow-Password-HOWTO - 6. upgrade或patc

Linux Shadow-Password-HOWTO - 6. upgrade或patc

Jaz-drive HOWTO -- 1. 导言

Jaz-drive HOWTO -- 1. 导言
下拉加载更多内容 ↓