這個問題,是我在各大討論區最常遇見的問題。
不是我藏私、不想回答。而是相關的步驟不好解釋清楚。
初學者(尤其是沒接觸過ASP/PHP/JSP的人,直接學ASP.NET),可能更頭大。
要完成這功能,有些步驟:
第一,要會寫簡單的ADO.NET程式(以ASP.NET而言)。要有能力自己寫程式,存取資料庫。
第二,瞭解 Application / Session
這兩個部份,要講清楚。我的天!可以寫一本書的兩三章。
會員制,的確是每一個網站都需要的「基本功能」。寫法也很簡單。
有些網頁,必須是會員才能看得到。一般參觀者,看不見內容,必須先通過帳號、密碼的檢查......
這個問題,是我在各大討論區最常遇見的問題。
不是我藏私、不想回答。而是相關的步驟不好解釋清楚。請看本書 16.2.6節
................................................................................................................................................
如果您不想學傳統的 Session來管理,ASP.NET 2.0起,也有自己的會員登入機制
請看這篇文章:
會員登入 與 FormsAuthentication (Web.Config裡面的 authentication mode="Forms")
................................................................................................................................................
初學者(尤其是沒接觸過ASP/PHP/JSP的人,直接學ASP.NET),可能更頭大。
要完成這功能,有些步驟:
第一,要會寫簡單的ADO.NET程式(以ASP.NET而言)。要有能力自己寫程式,存取資料庫。
第二,瞭解 Application / Session。(這就是一個大議題,但這些東西是網頁通用的,ASP/PHP/JSP都有!)
這兩個部份,要講清楚。我的天!可以寫一本書的兩三章。
偏偏在ASP.NET 2.0以後,因為新花樣太多了,寫新的功能都寫不完,所以這兩大部分在市面上的書就比較少見。
很多書的作者,都以「介紹新東西」為主。預設的讀者是「從ASP升級上來的」、「有經驗的人」。
ASP.NET 2.0起,新增加的Login控制項,是很好用。但用一陣子以後,想要擴充就會有點棘手。(畢竟不是自己寫的,是用現成的)
傳統 Session、搭配自己規劃的會員資料表,因為是自己打造的,其實很好用。
然而,第一次寫網頁程式,就是從ASP.NET 2.0或3.5版開始的人,如果市面上的中文書都不講這些了(Session/Application/Cookie)。那你要怎麼辦?
有些初學者就以為:寫書的作者們藏私,不願公開。......但,這真的是不得已!
廣告一下,因此我的新書「刻意」保留這一部份,因為我相信很多ASP.NET的初學者,沒學過這一部份。....
首先,ADO.NET。就是連結資料庫的四大步驟。我已經發表過幾篇文章了,各位可以參考一下:
- 初探ADO.NET #1,程式與資料庫互動的四大步驟
- DataReader的標準範例 for ASP.NET 2.0 / 3.5
- 自己動手寫的版本 ---- 網站的 Master程式 (DataReader)
- 自己動手寫的版本 ---- 網站的 Detail程式 (DataReader)
接下來,Application與Session,很難三言兩語講清楚。請看本書 16.2.6節
一定要圖文並茂,初學者才會瞭解「Global.asax設定檔」、「Application是給整個網站共用、Session會鎖定單一瀏覽器」,然後我們再來介紹----會員登入、會員專屬網頁這些範例,讀者才會清楚。
不是我不講,是三言兩語講不完啊!一定要現場Demo,或是用幾個範例玩一下,才會枉然大悟!
====================================================
說穿了,很簡單。
當一個使用者登入時,我們檢查他的帳號、密碼。
ADO.NET撈會員資料庫,比對帳號密碼是否正確,請看本書14.1節。
以下是虛擬碼,僅供參考:
Dim Conn As SqlConnection("連結資料庫的連線字串")
Dim dr As SqlDataReader.....
Dim cmd as SqlCommand("Select * from 會員資料庫 where 帳號 =" & ....,Conn)
dr = cmd.ExecuteReader()
IF dr.HasRow() Then
Session("OK") = "OK" '--註:通過帳號與密碼的檢查,取得一個鑰匙(Session)
Else
Response.ReDirect("會員登入的網頁.aspx") '--註:沒通過,滾回去
End IF
而每一個「會員專屬的網頁」,在程式的第一行,只要寫上:
IF Session("OK") <> "OK" Then
Response.End '--註解,程式中斷!
End IF
很簡單,對吧!Session的部份 與 本文的完整範例,請看本書 16.2.6節。
但其中的觀念,要從頭來啊!不然的話,我程式碼給你,你也執行不起來、改不動。
透過 Session來作,這是一個老方法。ASP/ASP.NET/PHP/JSP的作法都一樣,共通性很強。
因為Application / Session是網頁程式設計的一個標準作法。
誰說老東西不好用呢? 老鞋子好穿,好朋友值得信賴,不是嗎?
註解:Session的寫法可以改用OOP的屬性來做,更簡潔有力。
請看Allen Kuo文章:http://www.allenkuo.com/EBook5/view.aspx?a=1&TreeNodeID=123&id=978
當然,您要採用ASP.NET提供的 全新的Login控制項來做,也行得通。
註解:Login控制項與對應的會員資料庫,在VS 2013後已經被取代......
VS2013 / ASP.NET組態(網站管理工具) --改用 ASP.NET Identity 取代
2008/12/12 我寫了一個範例給大家參考,請看----
[習題]會員登入、會員專屬網頁、會員修改私人資料,怎麼寫?(#2 範例篇)
====================================================
我知道這篇文章的下場是什麼?
初學者會說:「很感謝你的介紹,但我還是不懂」
或是說:「能直接給我完整的程式碼嗎?我要C#的,不要VB的喔?你能幫我改寫嗎?」
我....我.....Orz............
還是從頭學起吧,學問無捷徑!
相關文章----
http://www.blueshop.com.tw/board/FUM20050124192253INM/BRD20140702005247O9L.html
上面我提到的東西,我保證原汁原味講清楚,範例通通有!
題名: |
ASP.NET專題實務
★衷心推薦(老王賣瓜),初學者能買最好!★ 本書使用標準的 Visual Studio 2005/2008 進行開發,而非精簡版(Express) |
||
ISBN: |
978-986-204-238-0
|
著者: |
MIS2000 Lab. 編著
周棟祥博士, 吳進魯 審稿教授:南台科大 吳盛博士 |
出版者: | 文魁資訊 http://www.kingsinfo.com.tw | 出版時間: | 2008.07 |
版次: | 初版 | 裝訂: | 平裝附光碟片 |
分類號: | 312.1695 | 標題: | 網頁設計 , 全球資訊網 |
上面的範例,還可以修改成----
- 只有會員才能下載某些檔案。
- 只有會員才能修改自己資料。
- 只有會員,才能留言。
- 會員忘記密碼,如何Mail給他?
...................................只要把基礎學好,要便出幾種花樣,都隨你了~
相關文章可以參考:
今日值班正妹,林志玲
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
......... facebook社團 https://www.facebook.com/mis2000lab ......................
......... YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
ASP.NET MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。