实现功能不难,想要完善,甚至完美,那才叫难。
所以,小弟将功能实现帖出来,和各位初学者讨论讨论。至于完善,就看各位自己的想法了
一、建立数据库
在就开始了,我建了一个名为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>