[分享] ASP 登入帳號密碼設計 & 其它..
這兩天在醫院顧我爸,順便利用空檔時間改良公司的程式。
一、簡易網站 & 樹狀結構
這個就套用上次研究出來的東西
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)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章