« 我的ASP經驗之路(8)—ASP里的cookies與session是什么意思?十五年之后,仍舊果斷選擇Jack (Titanic 3D / 泰坦尼克號3D版的評論) »

我的ASP經驗之路(9)—ASP里最簡單的會員登錄系統

分類: asp入門學習代碼,asp經驗 發布: ywask 瀏覽: 日期: 2012年4月15日

       上一篇講到了cookies與session的用法,結合以前學的asp讀取access數據庫內容,那么我們可以寫一個最簡單的會員登錄系統了。

1、 首先當然需要建一個表了,這里命名為data.mdb,新建一個表名為admin的數據表,里面新建三個字段,分別為:id (自動編號), username(varchar) 記錄用戶名,password(varchar) 記錄密碼。
 
2、 制作一個登錄頁面 login.htm 就是一個簡單的表單提交,用來收集用戶名與密碼。
3、 判斷用戶名密碼是否正確的頁面 check.asp 代碼如下:
<%
username=request.Form("username")
password=request.Form("password")
set rs=conn.execute("select password from [admin] where username='"&username&"'")
if rs.eof and rs.bof then
       response.Write("用戶名錯誤")
       response.end()
else
       if rs(0)<>password then
              response.Write("密碼錯誤")
              response.end()
       else
              session("mycheck")="20120415"
              response.redirect "index.asp"
       end if
end if
%>
 
這里為什么要把用戶名與密碼分開來讀取判斷呢?這樣可以有效避免有些人用單引號可以直接避開判斷。如: set rs=conn.execute("select password from [admin] where username='"&username&"' and password=’”&password&”’")
如果這樣寫,那么當用戶名輸入 ‘s’ or ‘s’ 這樣時,系統不會判斷密碼,可以直接登錄,所以這里寫法要特別注意。
4、 當然就是主頁面 index.asp 這里可以放一些需要登錄后才能查看的內容,用session是否為空來判斷是否要顯示隱藏的內容。如:
<p>以下內容為加密內容,需要登錄后方可查看。 <a href="login.htm"><strong>點擊登錄</strong></a></p>
<p>&nbsp;</p>
<%if session("mycheck")="20120415" then%>
您已經登錄,<a href="logout.asp">點此退出登錄</a>
<p><strong><font color="#FF0000">這里是加密內容。。。</font></strong></p>
<p><font color="#FF0000"><strong>登錄后即可以看到。 </strong></font></p>
<%end if%>
5、 最后寫一個logout.asp 退出登錄的頁面,清除session
 
這次的案例是以session為例寫的,你可以把相應有session的地方換成cookies寫法也行。如:
寫入session的時候,session(“mycheck”)=”20120415” 改成 response.cookies(“mycheck”)=”20120415”
在判斷的時候,需要讀取cookies值,改成 request.cookies(“mycheck”)
 

相關文章:

  • quote

    回復該留言 3 感謝作者

    2012-9-26 22:21:56

    一直云里霧里的,看了你寫的,代碼精簡,非常適合初學者,再次感謝!

發表評論:

◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。

Powered By 義烏亂碼網絡

Copyright 2013 www.es27f16a.icu. All Rights Reserved.浙ICP備11009494號 

如何推销兴牛牛奶