ASP開發中經常使用session變量,但在使用之前必須判斷客戶端浏覽器支持接受cookies。當asp開始一個session,它將送一個cookIEs到客戶端並帶一個標識(sessionid),通過這個標識,ASP以後將可以確認session並且因此來保持狀態。所以,當你使用session變量前,你需要確認cookIEs是否被接受。
方法一:
無論何時你在兩頁之間,有一個非常簡單可靠的方法:請求一個sessionid在第一頁,傳遞它到下一頁。與這一頁請求到的sessionid比較。相同說明客戶端浏覽器接受cookIEs;不同則不接受。很簡單吧。
比如你可以在第一頁中放一個(hidden fIEld),並把sessionid寫入它。提交後,從頁面數據中取出sessionid.像這樣:
1
<form name="form1" method="post" action="sessions2.ASP">
2
username:<input name="username"><br>
3
passWord:<input name="userpassWord">
4
<input type="hidden" name="thesessionid" value="<%=session.sessionid%>"><br>
5
<input type="submit" value="submit">
6
</form>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)在第二頁中我們來判斷sessionid是否相同。
1
<%
2
dim thesessionid
3
thesessionid = request.form("thesessionid")
4
if thesessionid = session.sessionid then' 當二者相等時,則cookIE功能開啟
5
response.write "cookIE已開啟"
6
else '若二者相等時,則cookIE功能關閉
7
response.write "cookIE沒有開啟!"
8
end if
9
%>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)
方法二:
也可用這種方法,首先在一個頁面裡寫入一個cookie,如: <%response.cookIEs("status")="onoroff"%>
在第二頁裡讀出此cookIE:
1
<%
2
if request.cookIEs("status")="" then '當cookies("status")裡沒有值時,則cookIE功能沒有開啟
3
response.write "cookIE沒有開啟!"
4
else '當cookies("status")裡有值時,則cookIE功能開啟
5
response.write "cookIE已開啟"
6
end if
7
%>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)