今天就來跟各位分享 如何在 ASP 中撰寫 自動返回登入前頁面 的機制。 我想正在看這篇主題的你,對這個名詞應該不陌生,
就像網路論壇上那樣,當你要發表文章時,會被引導到會員登入頁面, 登入完成後,又自動引導回你本來在看的文章, 這樣的機制,是非常體貼的人性化設計 ^^
那麼,該如何製作呢? 下面就來開始介紹我的作法, 如果你也有更好的作法,歡迎不吝指教喔 ^__^
其實,只要把觀念想清楚了,
做法非常簡單! 試想,在什麼情況下,訪客需要被引導到登入頁面? 也許有幾種可能: - 發表文章
- 參予投票
- 查看購物車內容
- 編輯會員資料
- 其他
以上的情況,都是我需要訪客在執行這些動作時,能夠同時得到他們的會員資訊。 但是,在他們進入這些頁面之前,就必須要記住他們所在的位置了, 於是,在這些頁面中埋入以下函式: Function login()
'定義變數 Dim pathinfo, PathNow, urlParas, beforeLogin '取得目前位置 pathinfo = Split(Request.ServerVariables("PATH_INFO"), "/") PathNow = pathinfo(Ubound(pathinfo)) '原封不動保留所有的 URL 路徑參數,才能正確回到登入前頁面 urlParas = Request.ServerVariables("QUERY_STRING") '還原登入前網址 If urlParas <> "" Then Session("beforeLogin") = PathNow + "?" + urlParas Else Session("beforeLogin") = PathNow End If beforeLogin = Session("beforeLogin")
End Function 就這樣,夠簡單吧?
在所有需要 記住訪客所在位置 的頁面中,執行: login() 於是,在 Session 中儲存了一個 位置資料 - beforeLogin 等到訪客完成登入後,再用: Response.Redirect beforeLogin 引導回該位置, 這樣就完成囉! |