實現功能不難,想要完善,甚至完美,那才叫難。
所以,小弟將功能實現帖出來,和各位初學者討論討論。至於完善,就看各位自己的想法了
一、建立資料庫
在就開始了,我建了一個名為windsn.mdb的資料庫,包含4張表
admin表(用於管理員資訊):id, name(使用者名稱), pwd(密碼), ...
concent表(用於存放文檔資料):con_id, title, author, part, con, time, num
con_id 自動編號
title 文章標題
author 作者或出處
part 文章分類
con 文章內容
time 發表時間(用=now()做初始值)
num 被閱次數
part表(用於存放文檔分類資料):id, part(分類), num
reply表(用於文檔評論):con_id, rep_id, rep_name, rep_con, rep_time
con_id 與表concent中con_id欄位相對應的欄位,數字類型
rep_id 自動編號
rep_name 參與評論的使用者名稱
rep_con 評論的內容
rep_time 評論時間
串連資料庫檔案conn.asp
以下是程式碼片段: <% Set conn = Server.CreateObject("ADODB.Connection") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\windsn.mdb") %> |
然後,再每一個要串連資料庫的頁面前加入一行代碼:<!--#include file="../Conn.asp" -->
二、設定session
為了防止非法登入,我們要建立一個session.asp。
以下是程式碼片段: <% if session("name")="" then ' 如果使用者名稱不存在,限制登入。(還可以再設定一個欄位以增加安全性) ' 如果管理員就只你一個人,那麼上面這名可改為if session("name")<>"yourname" 'then這樣安全性會更高,也不用怕有漏洞,但就不靈活了。 response.write"<script>alert('對不起,您還沒有登入!'); location='http://www.windsn.com/admin.asp'</script>" response.end end if %> |
到時候在每個頁面前加入一行代碼:<!--#include file="session.asp" -->
三、管理員登入
1,登入介面
登入介面admin.asp檔案,我這裡設定到check.asp驗證
以下是程式碼片段: <table width="755" border="0" align="center" cellspacing="1" style="font-size:13px; "> <form name="form1" method="POST" action="check.asp"> <tr align="center" bgcolor="#eeeeee"> <td height="35" colspan="2" style="font-size:15px; "><b>管理員入口</b></td> </tr> <tr bgcolor="#eeeeee"> <td width="308" align="right"><b>使用者名稱:</b></td> <td width="440"><input name="name" type="text" class="table" id="name" size="25"></td> </tr> <tr bgcolor="#eeeeee"> <td align="right"><b>密 碼:</b></td> <td><input name="pwd" type="password" class="table" id="pwd" size="25"></td> </tr> <tr bgcolor="#eeeeee"> <td colspan="2"> </td> </tr> <tr align="center" bgcolor="#eeeeee"> <td colspan="2"><input name="Submit" type="submit" class="table" value=" 登 錄 "> <input name="Submit2" type="button" class="table" value=" 取 消 " onClick="javascript:window.location.href='http://www.windsn.com/'"></td> </tr> </form> </table> |
驗證登入頁check.asp<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
以下是程式碼片段: <!--#include file="../Conn.asp" --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>使用者驗證</title> </head> <% name = request.form("name") '取得使用者名稱 name = replace(name,"'","") pwd = request.form("pwd") '取得密碼 set rs=server.CreateObject("adodb.recordset") sqlstr="select * from admin where name='"& name &"'" &" and pwd='"& pwd & "'" rs.open sqlstr,conn,1,1 if rs.eof then response.redirect "error.asp" '登入失敗進入error.asp頁 else session("name")=request.form("name") ' 設定session值,以便對頁面進行限制登入。有了這行代碼,再將上面提到的<!--#include file="session.asp" -->代碼加入到需要限制登入的頁面中,該頁面就必須登入成功後才能訪問response.redirect "admins.asp" '登入成功後進入admins.asp的管理頁,'本頁中就要加入<!--#include file="session.asp" -->代碼 end if %> <body> </body> </html> |