国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

論壇中有新貼子功能的實現

2019-11-18 20:23:38
字體:
來源:轉載
供稿:網友
  這是近來用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=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=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=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
      response.cookies("sessionLoginDT").expires=date+365
   end if
end if

頁面:某討論區貼子列表:(List.asp)  
代碼舉例:

dim sessionLoginDT
if not isempty(request.cookies("sessionLoginDT")) then
   sessionLoginDT=request.cookies("sessionLoginDT")
   if not isdate(sessionLoginDT) then
      sessionlogindt=formatdatetime(now)
   else
      sessionLoginDT=cdate(sessionLoginDT)
   end if
else
   ''不存在此cookie,一般不存在此問題
   sessionLoginDT=formatdatetime(now)
   ''寫Cookie
   response.cookies("sessionLoginDT")=sessionLoginDT
   response.cookies("sessionLoginDT").expires=date+365
end if

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 麻城市| 扬州市| 麻城市| 微博| 枣强县| 连平县| 乌审旗| 四会市| 安阳县| 改则县| 叶城县| 桦川县| 闵行区| 慈溪市| 深泽县| 武穴市| 大化| 柳江县| 隆德县| 连州市| 巴彦县| 平泉县| 龙门县| 宁远县| 泾阳县| 林周县| 黄山市| 沛县| 怀远县| 高邑县| 丹东市| 页游| 永寿县| 益阳市| 海阳市| 延庆县| 达拉特旗| 宁德市| 邵阳县| 泸西县| 报价|