請問這是建好的單人帳號密碼 , 那要如何建立多人資料庫驗證 , 煩請告知謝謝 !
哪有人把密碼寫死的啦,麻都是和資料庫溝通,你自己也知道阿;那麼你想要問甚麼
A兄,上回不是在問ASP.NET網站管理工具,那裏面不就是給你建網站帳號密碼用的?
更奇怪的是,放著Visual Studio內建的Authentication機制不用,要自己寫一個"笨死了"的驗證機制,想不通。(請恕我這說)
我看過的ASP.NET的書,都會有至少一個章節講如何實踐Authentication(也有說是會員機制的),看來A兄是沒注意或不想去看。
如果能接受英文,請參考 ASP.NET "Membership and Administration"這段教學文,或者,你可以從頭看起,ASP.NET Web Forms
基本上,Visual Studio專案會有下圖的預建驗證程式
很多書都會介如何使用登入控制。例如:
我猜A兄是實在看不懂書中講的網站管理工具,會員和登入控制項怎麼使用,所以只好發奮圖強己刻一個,我想,這實在不是好主意。
補充一點,你可以在Codebehind檔 Page_Load()的第一行寫這段
if (!HttpContext.Current.User.Identity.IsAuthenticated) Response.Redirect("~/Account/Login.aspx");
這樣就會強迫未登入的網頁訪問者直接進到登入頁面了。
至於會員驗證資料,是放在資料庫中的這幾個Tables中
過年了.....
個人建議
可以看MIS2000出過的ASP.Net的書籍
一定會教學到這部分
因為現在網站最重要的精隨就是在"購物"
不過現在能購物不稀奇
現在需要的有串後端金流系統的好手......
就自己再琢磨吧
曾經MIS2000大大也曾在這駐留過
但..........
不多說了
哪種資料庫?能否列出來?
建立 database,並決定DB名稱
建立 users tables,並決定users 各項欄位屬性及長度
建立一個database manage_user ,並允許去讀寫上面的資料庫
前端傳資料去撈後台database db 的時候,select names,password from users tables where name=="前端username" and password=="前端password" ,並比對前端傳來的資料是否存在db裡面!
感謝a兄過年就在娛樂it邦幫忙的大家...
我真的無言了,看到這種奇葩程式碼。
因為asp.net帳號密碼制度我不熟,僅對手刻部分發言。
1.請問你的程式碼有存取資料庫比對嗎?難道你有10萬個客戶,你就要寫10萬次if?
2.如果不是,那你是不是要寫個通用的函式,當使用者輸入帳密時,去比對資料庫裡帳號密碼是否正確?
3.你知道session是啥東西嗎?你把帳號密碼存入session能幹嘛?
這些對一個後端來說,都是和呼吸一樣的觀念。上面你都搞不懂的話,你真的浪費了你目前所有的學習時間。
如果我什麼都懂就不用來問了 , 這裡不是就是給人問的嗎 ? 還是有限制要高手才能問問題 , 初學者是不能問問題的 , 就是網路及看書都查不到解決方案才來問
你不是一直強調你基礎都會了?
那幹嘛一直問基礎的問題?
恭喜發財、新年快樂
可樂快跑 我跟你想法有很大的差異 , 我們還是出來當面聊聊好了
我一直就想約你出來,甚至是請你喝茶。可你沒下文不是?
恭喜發財、新年快樂
你說約出來聊聊,然後你私訊我的內容說要「好好解決」?
是那方面的解決你要不要說清楚呢?
因為你把我給封鎖了所以我無法回訊息給你。
至於說看你不滿?
你可能太看得起自己了。
任何人只要是像你這種發問方式我都會不滿。
該不會因為文的不行,你想來武的?喔!我好怕喔!
好了!如果你真的要約我出來,那你要有從頭到尾跟我對幹「程式技術」的覺悟。
但如果你想要跟我對幹的是其他目的。很抱歉,敬謝不敏。
我勉強算是個文人,不喜歡動手動腳的。
恭喜發財,新年快樂。
Samと可樂快跑真有你的!我覺得你要把他氣炸了
alex9453真心建議你............................................................................................................................................................................................................................................................................以上所說千言萬語都是為你好
另外好好解決這件事,如果是討教如何寫程式值得鼓勵,若是其它的建議你三思而後行。
你想太多了 , 當然是解決我程式上的問題 , 我所遇到的問題 , 希望可以見面聊聊 , 我也不想網上一直問
好吧!根據我們討論的結果。
對於你對「初學者」的分界搞不清楚的狀況,這邊有個結論。
我想這樣你就能明白區分「初學」和「進階」的差異性吧!
初學:從0到你可以做出任何你想做的東西,雖然程式碼可能不堪入目或是效能不佳,但至少他能正常運作。
進階:開始學習如何優化你的程式碼,讓他開始好維護、好管理、效能佳、結構好。
高手:沒有這種等級。這只是對在進階狀態了解較多的人的一種尊稱。
所以你有理解到你在初學階段花掉了多少時間嗎?
我給你一個標準裁量。
一個真正的「初學者」,在他可以做出所想做的東西所花的時間最慢也應該要在一年之內達成。超過一年以上肯定學習方法有問題。
然後告訴你一個現實。
在2009年我沒有學過php的情況下,我只用了一個月的時間把網站整個架起來。
然後為了應付客戶的需求,我只在一天之內很趕的做出了一個留言板,然後就跟我老闆飛去大陸出差了。
然後我會告訴你手上就一本我不知道究竟適合不適合我的書。
我連狗都沒去咕就靠那本書硬幹出一個真實的留言板環境。
不要以為我是天才,幹這件事的時候我已經33歲年紀也不算太小了。
重點是:心與目的究竟在那裡。
有心就會很快做到好,無心的話就會常常抱怨為什麼做不好。
新的一年,我會希望你加油。而不是把時間耗在面對別人的意見的對幹上。
不管你信或不信,你必須知道:有人會理你才是好事,甚至義正嚴詞的對你指責。因為會希望你改變而不是一成不變。
面對這些,如果都要解讀成別人在針對你,刻意挑你毛病的話。
你會錯過非常多對你有意義的東西。
這是新年開春,我對你的期許。
也是對許多程式新手的建議和期許。
仍然祝恭喜發財,新年快樂。
我真的最後一次給a兄你建議了,自己好自為之:
1.丟掉你手上的那本書,那本只教你「操作」沒教你真正重要的觀念。
2.從頭開始,把書上所有步驟「為什麼」要這麼做搞懂。自己想辦法去查那些參數代表什麼、背後會造成什麼影響。這部分會查MSDN非常重要。
3.搞懂HTTP背後運作的流程,從browser發起一個request到server丟出response,中間所有依賴的技術,cookies、session、資料庫的存取、運作...等等
4.接下來再來關心前端資料呈現
從你發的問題,這邊有在寫web都知道你真的極度缺乏基礎觀念,但是只要給你建議,你就覺得我們看不起你,在酸你,回答的比較專業一點,你就用你不是這麼專業來擋,請問這樣要怎麼教你?
你應該誤會了 , 我之前選最佳答案的人 , 都是很專業的 , 有很多人都解決了我的問題
看你的回答,看起來還是不醒悟的樣子...
算了,你寫不寫的出來東西,和我又沒關係
路過,簽個名。請不要砍我的文。
我真的不知道該對他說什麼話了。
所以我旁邊看戲而已
我選最佳解答的有些人,不止只有告訴我答案,還有告訴我該如何學習會比較好,並不是只有答案那麼簡單,該如何學習才是最重要的
我本來上asp.net 500小時的課,上完後一行程式也寫不出來,那時我也覺得我不適合走這條路,所以好幾年沒碰程式了,直到最近才又找書研究程式,才發現是老師最重要的觀念沒教,所以我才不會寫,現在會寫程式,這是我以前都不敢想的事,所以我才知道我是可以辦到的,不管別人如何冷言冷語,我都會堅持下去,因為找到對的人是很重要的
問問題只有半年,我實際動手寫程式還不到一個月,每天工作忙也不能碰程式,只有下班休息的一兩個小時,才能碰程式,你們會感覺很久,因為你們不了解實際狀況
我也剛學 帳號驗證這塊,之前開發WEB是沒有用帳密去擋,直接可以用
所以在設置帳密這塊沒有說很厲害,還請其他高手補充(題外話)
圖一類似你的btn_click,只是我有做加密
這邊在做的事情是,使用者在login.aspx 有兩個textbox(帳號密碼),
如果在sql找到這組帳密就把網頁導向home.aspx。
其中:
(1) 要查詢的的指令跟SQL Server溝通的就是那個 SQL_str (圖三會說明)
(2) sqlproc.SqlCommand 是我定義的物件,這樣要用只要呼叫這個物件就可以了
(3) if (sqlproc.sqlDataTable.Rows.Count > 0)表示有找到,裡面包你要做的事情
圖二是物件sqlproc 部分程式碼:
其中:
(1) 我是把要連結的資料庫字串存在web.config裡面,將來改Sql只要改web.config就好
(2) sqlDataTable 儲存的資料就是輸入的資訊 (圖三會說明)
圖三是SQL Server
其中:
(1) 上面指令就是在找有沒有這組帳密,相當於圖一的字串"SQL_str"
(2) 找到後的資料就是回傳到圖二的sqlDataTable中