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