[分享] ASP 登入帳號密碼設計 & 其它..

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間13年前 (2012/06/25 16:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
這兩天在醫院顧我爸,順便利用空檔時間改良公司的程式。 一、簡易網站 & 樹狀結構 這個就套用上次研究出來的東西 http://sanclaechan.myweb.hinet.net/tree.html 將上面的樹狀下拉結構放到我自己寫的網站裡頭。 (在上面的頁面按右鍵選檢視原始碼可以看到原始碼) 二、帳號密碼登入設定 我寫了兩支程式,check_login.asp 以及 login.asp,   check_login.asp 是給我寫的各個 asp 檔用的,在每個   asp 檔的檔頭加上下面的東西.. <!--#include file="check_login.asp" --> 這樣在開啟每個 asp 檔時就會先呼叫 check_login.asp ,其內容如下... <% server_ip = Request.ServerVariables("SERVER_NAME") page_name = Request.ServerVariables("SCRIPT_NAME") ' 比方你開啟的網頁是 http://10.1.1.1/xxx/compare.asp ' server_ip = 10.1.1.1 ' page_name = /xxx/compare.asp ' 所以 server_ip + page_name = 上面的網頁全名 ip = Request.ServerVariables("REMOTE_ADDR") ' ip = 你的連線 ip ' 用 Application 來儲存永久資料 ' 用 session 來儲存頁面資料(頁面全關掉該資料就消失) if Application(ip) = date then session("can_login") = ip else session("can_login") = "" end if if session("can_login") = "" then session("re_url") = "http://" & server_ip & page_name server.transfer("login.asp") response.end end if %> 上面的意思就是說,如果網頁沒有判斷到 session("can_login") 的話,它就自動轉址到 login.asp,同時儲存一個 re_url 的東   西,來紀錄使用者目前開出來的網頁。 這樣玩家在 login.asp 那邊只要輸入正確的帳號密碼,就可以靠 re_url 把使用者再導回他原先開啟的網頁,然後這時因為已經有 session("can_login") 了,就能開啟原本網頁的內容,而不需要   再輸入帳號密碼。   而 Application 就是用來控制「過期時間」,我的設計是「當天   」也就是 date 參數,因此只要系統讀取的 date 跟 Application 儲存的不同時,就會要求使用者再去 login.asp 驗證一次。 所以同一天內只需要輸入一次帳密。 login.asp 的內容如下.. <form> 請輸入帳號:<input type=text name=input_1><p> 請輸入密碼:<input type=password name=input_2><p> <input type=button name=button1 value="送出"><p> </form> <% ip = Request.ServerVariables("REMOTE_ADDR") input_1 = request("input_1") input_2 = request("input_2") if input_1 = "" or input_2 = "" then response.end end if // 然後經過驗證確定輸入的正確時(假設有個函數在做驗證) if match_input(input_1,input_2) = 1 then response.write "帳號登入成功。" Application(ip) = date session("can_login") = ip response.write "<meta http-equiv='reflash' content='2; url=" & session("re_url") & "'>" else response.write "帳號密碼錯誤!請重新輸入喔。" response.end end if %> 關鍵程式段就是.. <meta http-equiv='reflash' content='秒數; url=要轉址的網頁'> 以上面來說就是兩秒後自動轉去 session("re_url") 所紀錄的網址,   這是最簡單的轉址做法。 三、消網頁捲軸 比方我的網頁有一個左邊功能表,則當功能表裡面的東西塞太多時,   它會自動產生一個捲軸讓你可以往下拉。 但是有時候我們會不希望這條捲軸出現,但是又希望可以用滾輪下拉   ,這時候可以採取的做法就是改變捲軸的顏色。比方網頁的底色是白   色(#FFFFFF),那可以在 <html> 下這樣子做.. left.asp =========================================================== <html> <style types="text/css"><!-- body { scrollbar-face-color: #FFFFFF; scrollbar-shadow-color: #FFFFFF; scrollbar-highlight-color: #FFFFFF; scrollbar-3dlight-color:#FFFFFF; scrollbar-darkshadow-color: #FFFFFF; scrollbar-track-color: #FFFFFF; scrollbar-arrow-color: #FFFFFF; } --></style> . . =========================================================== 這樣捲軸的所有元素的顏色就會完全跟底色同化,就不會看到捲軸了   ,但是捲軸依然會在,所以滑鼠滾輪一樣有作用。 捲軸的元素依上面所列就是 face-color、shadow-color、.......等   等,把這些全部通通設成白色,那在網頁上自然就看不到這條捲軸。 底下的頁面有講解各元素代表的意義 http://tinyurl.com/5z7ndh 如果你查網頁,多半只會查到要你在 <frame src 那裡對 scrolling 這個屬性做控制(yes/no/auto/....),假設你把 scrolling 設成 no ,捲軸同樣會不見,但如此一來滑鼠滾輪也會失去作用。一百個網頁   大概 99 個都在講這個,之前卡在這裡卡很久.. 我下一階段要做的則是 ACCESS WEB 資料庫,但是這個階段 還不急,我目前在公司所有該寫的程式都已經寫的差不多了 ,主要是我最近先完成了一支專門用來撈資料的泛用程式叫 做 rtrv.asp.當我需要撈資料時,這程式可以先讓我觀看未 翻譯的結果(而且有做表格化),而如果有需要我再依據這份 結果所呈現的資料結構方式(表格化很容易觀看出來),再來 撰寫編譯後的結果即可。 (我以前的做法就是先讓它秀未編譯結果,再改成可閱讀,以 後等於未編譯結果通通由上面的程式先做,我可以省不少工) 所以我最近會再放心力在 sanc 上。 另外分享我的經驗,對於處理資料的工作,有幾個面向.. 1.資料匯入、資料大批匯入 2.單筆資料讀取、新增及修改 3.資料比對、大批資料比對 而就目前來說「資料比對」是最好用的。因為一筆資料裡面 可能包含幾十個至幾百個細項資料,傳統比對方式是針對每 一筆細項資料去看說哪一筆出問題,但是相類似的資料之間 其實它們的細項資料設定也是類似的,這時就可以用資料比 對的方式,把疑似有問題的資料,跟一筆沒問題的相似資料 拿出來一起比對,然後把不同之處標註紅色,這時一比就知 道有問題資料的哪些細項資料可能設錯,可以大幅縮短抓錯 時間,這就是「資料比對」的好處。 那我很慶幸我有先在聖殿寫 compare,它對我之後在公司寫 compare_data.asp 時提供了很多幫助,再來就是在聖殿磨 出來的字串解析及處理,也節省了我很多開發程式的時間。 一點心得分享給各位。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: laechan 來自: 210.61.157.53 (06/25 16:46)
文章代碼(AID): #1Fw2Hspd (mud_sanc)
文章代碼(AID): #1Fw2Hspd (mud_sanc)