如果在程序中,看到有错误的地方,请到我站点提出(http://www.rushanren.com),我将马上修改!
在开发动态网站的时候,总是发现很多朋友问我要新闻系统,我总是给他们指出到这down到那down,但是很快他们就不满意的回来Q我了,告诉这个太大,那个太大,这个不会改,那个也不会改.在这里,我写这篇DWMX+access开发动态新闻教程,就是为了帮助那些朋友,授人以鱼总是不如授人以渔嘛!
不废话了,进入正题: 首先给大家看看这个新闻界面:
后台管理页面: 为了方便在这里给大家直观目录: 具有的功能为:1.带后台管理员功能;
2.每条新闻具有发布时间和浏览次数;
3.能输入HTML代码,解决英文自动换行功能;
4.后台具有删除,编辑功能;
5.尽量精简代码,书写规范简单明了;不足的地方:
1.由于时间关系和对初学者的考虑我没有做分页功能,如果大家想学习,我会在下次教程写出来!
2.没有写出首页调用代码,也是为初学者考虑
3.对后台添加新闻表单没有验证开发工具:
DreamweaverMX和Access2000好了,大家准备好了吧,我相信如果大家仔细看教程大约5小时就可以明白整个开发原理,很简单的:
先给大家说说开发步骤(或许不太规范,是按照本人习惯)1.规划定义站点,建立各个功能模块文件。
好了,咱们开始吧,一个好的站点,应该先规划好站点文件的存放! 好了先看看文件目录:
下面解释一下:目录:admin(用于存放后台管理程序文件)文件:
xh_add.asp (后台管理页面)
xh_edit.asp (后台编辑页面)
xh_del.asp (后台删除页面)
xh_login.asp (后台管理登陆页面)
xh_cklogin.asp (后台管理验证页面)
xh_loginout.asp (后台管理退出页面)
xh_write.asp (新闻添加页面)
xh_save.asp (添加新闻验证页面)
xh_conn.asp (数据库连接文件)目录:date (存放数据库文件)
目录:images (存放图片)主目录下文件:
index.asp (新闻首页面)
conn.asp (数据库连接文件)
xh_look.asp (新闻查看页面)
xh_wei.asp (include连接结尾页面)好了具体的规划就是这些,大家应该能明白一个步骤了吧!
也是一个思考过程,建站--建立各功能目录--建立数据库--建立后台文件--建立显示记录页面---完善程序例如编辑删除功能2.用Access写数据库xhnew.mdb这次咱们就来做这个新闻系统的数据库,放心很简单,几分钟就可以搞定! 首先开发ACCESS,设计表,如下图:
在这里,我详细介绍一下各个数据类型的功能name用来存放新闻发布者的姓名(文本)
content 用来存放新闻内容(切记设置为备注,因为储存量多)
title 新闻标题(文本)
xhcount 存放每条记录点击数(数字型)
xhtime 每条新闻发布时间(时间类型)在此在说明一下conn.asp文件,就是数据库连接文件
大家能看明白嘛?第一句声明DB为数据名。然后打开ADO,这个是规范写法,对于数据库移动位置可以在server.mappath改。3.写后台管理登陆页面xh_login.asp和xh_cklogin.asp还有退出管理页面xh_loginout.asp这次,准备讲解这个后台登陆的几个页面! xh_login.asp这个页面主要一个表单递交页面,递交到xh_cklogin.asp
xh_cklogin.asp是个验证表单密码的页面。 好了,咱们来分析这段代码。name=trim(request.Form("username"))
pass=trim(request.form("password"))
主要是从login.asp提取2个表单的值
if name="" or pass="" then
response.write "<script language=javascript>alert('对不起未输入,请返回');_
history.back(-1)</script>"
end if
主要就是验证输入的用户名和密码是否是空值,这个参数是从登陆框传递过来的!记得我们给xh_login.asp的各个控件赋予了名称
if name="adminxh" and pass="adminxh" then
session("xianhe")="yes"
response.redirect "xh_add.asp"
else
response.write "<script language=javascript>alert('对不起密码输入错误');history.back_
(-1)</script>"
end if
主要就是验证密码是否正确了,如果正确进入下个页面,不正确返回登陆页面!在这里主要要提的是,这么一句代码。
session("xianhe")="yes"
这句代码非常的重要,就是这个会话可以防止别人非法登陆你的后台页面,在下节在着重讲解,在这里你只要明白,我把这个会话赋值为"yes"xh_loginout.asp是个退出管理的跳转页面,只有2行代码
第一行是消除会话的值第二行是跳转页面代码4.写后台添加新闻页面xh_write.asp和xh_save.asp这次我们来讲解新闻添加页面xh_write和保存新闻页面xh_save 首先我们来看看xh_write页面。
从上图我想大家应该可以看明白,就是给表单各个控件起名字,这样可以方便传递值!这个表单递交的页面是xh_save.asp咱们着重的讲一下的是xh_save.asp,来吧看看下图的代码。
<!--#include file="xh_conn.asp"-->代码是调用数据库连接文件,不连接可就over了
<%
dim xianhe
xianhe=session("xianhe")
if xianhe="" then
response.redirect "xh_login.asp"
end if
%>
在这里大家还记得,在登陆后台的时候我传递给session("yes")这个会话一个值嘛?
它就是此时有用了,因为如果你登陆不成功,会话就是空值,添加页面就不会被直接URL进去,想必大家可以听明白我的讲解吧!
好了讲解下面的代码,看上图:这段代码主要就是声明一个记录集,然后起名RS,用记录集来添加新闻!set rs=server.createobject("adodb.recordset")
sql="select * from erennew"
rs.open sql,db,1,3
SQL语句对这个数据库的erennew表,然后rs.open sql,db,1,3是用赋值的参数来打开记录集,附带的1,3简单的来说就是可以让记录集添加数据
rs.addnew
rs("title")=trim(request.form("title"))
rs("name")=trim(request.form("name"))
rs("content")=server.htmlencode(request.form("content"))
rs("xhcount")=0
rs("xhtime")=now()
rs.update
这段就是添加记录的代码
rs.addnew添加
rs.update更新
其中的数据,大家可以明白就是通过递交表单的参数传递给了数据库!
rs.close
set rs=nothing
response.redirect "xh_add.asp"
关闭记录集,然后跳转页面。5.写后台显示页面,功能带有编辑和删除xh_add.asp
好了,这节可以讲解xh_add.asp就是登陆后台的主页面
下图是后台效果。
然后咱们来看看代码。 这段代码看着是不是很熟悉啊,对了,在上节课我已经详细讲解了这个会话的功能了! 大家看看这个代码,就是用SQL搜索了,erennew所有的记录,然后用execute执行了这个SQL,关于输入各个数据,由于我没有界图,所以就用代码说明了啊!<%do while not rs.eof%>
<tr>
<td align="center"><%=rs("id")%></td>
<td><a href=../xh_look.asp?id=<%=rs("id")%> target="_blank"><%=rs("title")%></a></td>
<td><%=rs("xhtime")%></td>
<td align="center"><a href="xh_edit.asp?id=<%=rs("id")%>">编辑</a></td>
<td align="center"><a href="xh_del.asp?id=<%=rs("id")%>">删除</a></td>
</tr>
<%
rs.movenext
loop
%>
大家看这段代码,难点就是编辑和删除的连接为:
xh_edit.asp?id=<%=rs("id")%>"就拿这个讲解吧!
意思就是传递到edit.asp这个页面一个参数,这个在edit.[1] [url=http://www.chinamx.com.cn/Article/websj/dreamweaver/200606/20060610080002_48253_2.html][2] 下一页