2011-10-07 61 views
0

我正在處理一些我繼承的舊代碼。 index.asp文件頂部有VB腳本,用於在登錄時設置COOKIE。看看代碼,它看起來好像該cookie應該在日期()(我認爲是同一天)過期。但是,當我查看我今天創建的Cookie時,它將在10/7/到期。我的目標是讓cookie在7天內過期。提前致謝。VBScript Cookie到期

<%@ LANGUAGE=VBScript %> 
<% Option Explicit %> 
<% 
    Response.Buffer=true 
    On Error Resume Next 
%> 

<% 
Dim cookieECP 
Dim fldIAccept 
cookieECP=Request.Cookies("ACIntra") 
fldIAccept=Request.Form("fldIAccept") 
if cookieECP="ON" then 
    Server.Transfer("/default.asp") 
elseif fldIAccept="Y" then 
    Response.Cookies("ACIntra")="ON" 
    Response.Cookies("ACIntra").Expires = Date() 
    Server.Transfer("/default.asp") 
end if 
%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

回答

1

您還可以使用DATEADD進行更多的控制。

Response.Cookies("ACIntra").Expires = DateAdd("d",7,date())

三個參數 - 的inteval要添加(「d」 =天)的類型,那些 間隔數(負減去而不是相加),並且基座日期/時間對象你正在增加。

您可以使用date()now()任一個; date獲取當前服務器日期,now也獲取當前服務器日期和時間戳。

2

Date()是ASP中的當前日期。也許你的cookie是在網站上的其他地方更新的? 要在7天后過期,該指令是:

Response.Cookies("ACIntra").Expires = Now() + 7 

我建議你清除瀏覽器中所有Cookie,並您的瀏覽器設置問你當一個新的cookie設置。 IE有這個選項,它允許你查看服務器想要在瀏覽器中設置的cookie /值。
這可以讓你進行調試。

另一個選擇是你的服務器有一個錯誤的日期設置,但是這有點牽強。

HTH 埃裏克

+0

謝謝 - 我會檢查出來。 – Susan