实现功能不难,想要完善,甚至完美,那才叫难。
所以,小弟将功能实现帖出来,和各位初学者讨论讨论。至于完善,就看各位自己的想法了
一、建立数据库
在就开始了,我建了一个名为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
以下是代码片段: <% Setconn=Server.CreateObject("ADODB.Connection") conn.Open"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&Server.MapPath("dbwindsn.mdb") %> |
然后,再每一个要连接数据库的页面前加入一行代码:<>
二、设置session
为了防止非法登录,我们要建立一个session.asp。
以下是代码片段: <% ifsession("name")=""then '如果用户名不存在,限制登录。(还可以再设置一个字段以增加安全性) '如果管理员就只你一个人,那么上面这名可改为ifsession("name")<>"yourname"'then这样安全性会更高,也不用怕有漏洞,但就不灵活了。 response.write"<script>alert('对不起,您还没有登录!'); location='http://www.windsn.com/admin.asp'</script>" response.end endif %> |
到时候在每个页面前加入一行代码:<>
三、管理员登录
1,登录界面
登录界面admin.asp文件,我这里设置到check.asp验证
以下是代码片段: <tablewidth="755"border="0"align="center"cellspacing="1"> <formname="form1"method="POST"action="check.asp"> <tralign="center"bgcolor="#eeeeee"> <tdheight="35"colspan="2"><b>管理员入口</b></td> </tr> <trbgcolor="#eeeeee"> <tdwidth="308"align="right"><b>用户名:</b></td> <tdwidth="440"><inputname="name"type="text"class="table"id="name"size="25"></td> </tr> <trbgcolor="#eeeeee"> <tdalign="right"><b>密码:</b></td> <td><inputname="pwd"type="password"class="table"id="pwd"size="25"></td> </tr> <trbgcolor="#eeeeee"> <tdcolspan="2"></td> </tr> <tralign="center"bgcolor="#eeeeee"> <tdcolspan="2"><inputname="Submit"type="submit"class="table"value="登录"> <inputname="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"%>
以下是代码片段: <!--#includefile="../Conn.asp"--> <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"> <title>用户验证</title> </head> <% name=request.form("name")'取得用户名 name=replace(name,"'","") pwd=request.form("pwd")'取得密码 setrs=server.CreateObject("adodb.recordset") sqlstr="select*fromadminwherename='"&name&"'"&"andpwd='"&pwd&"'" rs.opensqlstr,conn,1,1 ifrs.eofthen response.redirect"error.asp"'登录失败进入error.asp页 else session("name")=request.form("name") '设置session值,以便对页面进行限制登录。有了这行代码,再将上面提到的<!--#includefile="session.asp"-->代码加入到需要限制登录的页面中,该页面就必须登录成功后才能访问response.redirect"admins.asp"'登录成功后进入admins.asp的管理页,'本页中就要加入<!--#includefile="session.asp"-->代码 endif %> <body> </body> </html> |