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

ubb

这是近来用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 "<tr><td bgColor=#f7f7f7><img
src=http://www.163design.net/a/q/images/lock.gif > <a href=newsdetail.asp?id=" & rsList.Fields
("postid") & ">" & rsList.Fields("Subject") & "</a> </td>"
else
    'Lastly为主题的post时间
    if rsList.Fields("Lastly")>sessionLoginDT then
    
        
        Response.Write "<tr><td bgColor=#f7f7f7><img
src=http://www.163design.net/a/q/images/closedb.gif> <a href=newsdetail.asp?id=" & rsList.Fields
("postid") & ">" & rsList.Fields("Subject") & "</a> </td>"
    else
        Response.Write "<tr><td bgColor=#f7f7f7><img
src=http://www.163design.net/a/q/images/closed.gif > <a href=newsdetail.asp?id=" & rsList.Fields
("postid") & ">" & rsList.Fields("Subject") & "</a> </td>"
    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
            sessionLoginDT=cdate(sessionLoginDT)

        end if
    else
        '没有sessionlogindt cookie,一般不存在此问题
        sessionLoginDT=formatdatetime(now)
        '写sessionLoginDT
        response.cookies("sessionLoginDT")=sessionLoginDT
       &nbs

时间: 2024-10-30 07:58:12

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

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

ubb|对象|正则 在ASP中利用"正则表达式" 对象实现UBB风格的论坛     转贴者语:无意中在中华网发现了此文,说的就是本站论坛的UBB风格的实现原理,所以贴出来和大家一起分享. 我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么

在ASP中利用&amp;quot;正则表达式&amp;quot; 对象实现UBB风格的论坛(转)

在ASP中利用"正则表达式" 对象实现UBB风格的论坛    转贴者语:无意中在中华网发现了此文,说的就是本站论坛的UBB风格的实现原理,所以贴出来和大家一起分享. 我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB

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

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

如何运用数据分析论坛签名和外链在百度新算法中的效果

中介交易 SEO诊断 淘宝客 云主机 技术大厅 SEO思维:如何运用数据分析论坛签名和外链在百度新算法中的效果 背景资料 2012年08月22日通过站长平台发布官方公告,为了提高用户体验.清除低质采集的垃圾内容,百度将在6月底反作弊算法的基础上再度升级,对大量低质量.无内容的站点进行清除.并打击胡乱采集.超链接作弊.堆积关键词.冒充官网,等严重影响用户体验及有大量违法或欺诈内容的钓鱼网站. 2012年10月23日10:30百度网页搜索反作弊团队于百度站长平台发布<<关于超链作弊的算法升级>

Docker官方论坛中回复最多的一个帖子“在数据容器内升级数据”

Docker官方论坛中回复最多的一个帖子"在数据容器内升级数据" matlehmann我有一个含数据的容器,它有一个卷(比如在/var/data)中的持久性数据.该容器包含持久性数据对另一个容器的软件.对于该软件的新版本,需要升级所述永久数据(结构或布局改变等).其结果是,我想与在相同的位置已升级的数据的另一数据容器(在/var/data)和仍保留旧数据容器与它的数据不变.这样一来,我可以用旧的数据容器与旧版本的软件,万一出了差错.但是,我怎么能做到这一点?以实现所期望的结果所需要的步

博客和论坛中的十条礼仪守则

如果你读到了这些文字,说明你参与了博客和论坛.据我个人经验(包括积极的和尴尬的),提出十条公开发贴的礼仪守则. 注意:像通常一样,我的出发点是商务写作. 绝不羞辱博客或论坛中的参与者,不辱骂和讥讽. 千万注意也不要羞辱博客或论坛以外的人,其最终的后果是否定个人. 如果你要在论坛中发问,要向为你得到的答案和人致谢.不要简单的一句"谢谢"了事,要说出你为什么而谢.如"谢谢你对我的营销贺卡所提出的中肯的意见.像往常一样,你总是能想到我想不到的东西." 如果要在博客或论坛中

利用ASP打造个性化论坛(中)

二.构建 1.构建主窗体 先要给出一个窗体,能够让网友输入注册讯息,这些是HTML的内容,且放在一边,我们来仔细看看具体实现注册的ASP脚本. (1)将资料中的单引号改成两个单引号,并且在前后加上单引号 Function SqlStr( data ) SqlStr = "'" & Replace( data,"'", "''" ) & "'" End Function 注:这是一个自定义的函数,用来把用户输入中

ASP技术在论坛中的运用。(一)

现在网上的论坛遍地都是,但可能你对一些论坛的内容感到很厌烦,大家好像都有在论坛上聊天的毛病.往往需要在无数的垃圾中来寻找想要的内容,确实是费时费力,到后来,就都不想去看什么论坛了. 因此,我想能不能对论坛的内容增加审阅功能呢?所有网友发到论坛的文章,并不能够立即被显示出来,必须经过站长或者斑竹审阅之后,认为有价值,有必要推荐给其他网友的,就发表出来.否则就删掉了,免得浪费空间.去芜存精,有点像精华区的意味. 在讨论的内容上,我也不希望有各种各样的脱离主题的讨论出现.我的设想是:斑竹给出讨论的主题

在Discuz论坛中插入FLASH的相关参数设置

此贴是详细讲解如何自定义"FLASH"代码参数设置,建议新手看看. 最终在Discuz论坛中插入FLASH,实现的效果图如下: 可以定义FLASH的高度和宽度,及路径.. 首先要明白的是,若想在发贴时插入Flash 动画,必须满足三个因素:1)   相应的版块设置中必须是"允许使用 Discuz! 代码" 2)相应的用户组权限必须是"允许使用自定义 Discuz! 代码" 2)必须把 [flash] 代码设置为"可用"(如图所