国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴化市| 靖边县| 阜南县| 丁青县| 竹北市| 新余市| 新建县| 依安县| 石景山区| 新巴尔虎右旗| 三穗县| 东乌| 绥宁县| 保亭| 仙游县| 定陶县| 合阳县| 思茅市| 平果县| 衡阳县| 吉首市| 江油市| 吉安市| 屏边| 汾西县| 县级市| 永仁县| 太仓市| 静海县| 中江县| 兴义市| 福清市| 独山县| 手游| 松阳县| 锡林浩特市| 鄯善县| 泰宁县| 桐梓县| 鹰潭市| 普格县|