用户登录该网站后首先进入的是网站主页,通过导航条可以进入各个模块所在的各个分页。
首先会员得先登录,登录通过以后,可以进行资料修改。在修改资料之前必须判断当前用户是否已经登录,或者其登录信息是否已经超时。
会员登录通过以后才能进行商品预订。同样,在预定商品之前同样需判断当前用户是否已经登录,或者其登录信息是否已经超时。
用户浏览商品、选购商品、将商品放入购物车时,如果该用户决定要购买这些商品,即要生成定单,就必须判断当前用户是否已经登录,或者其登录信息是否已经超时。
用户身份验证通过后将要生成定单。如果用户需要在定单生成之前进行资料修改,则需要转入用户资料修改程序,该程序位于会员管理模块中。
用户通过检索功能找到所需商品,满意后放入购物车,即由检索模块转入购物车模块。
提供BBS社区论坛系统,可以根据客户的帖子(即留言)来进行回复。BBS模块为一单独模块,在主页文件中单独开辟一个“BBS社区”栏目。
第四章 BBS社区论坛模块
4.1模块功能介绍
BBS社区的一个重要特点就是能够对别人发的帖子进行回复,其实BBS也可以说是一个复杂一点的留言板。一般来说,留言板要求的基本功能在BBS里面都有体现。所以,在一定程度上BBS社区和留言板是有点相似的,称其为留言或者帖子是没有区别的。相比较而言,一个BBS拥有更多的互动性功能,譬如在前面提到的回复别人的帖子,或者对每条帖子的访问数量进行统计等。
在电子商务网站中,也有部分客户希望在网上给企业留言(如缺货登记,并通知我等)、或者发布供需信息等。即可实现此功能。
4.2模块工作流程
4.2.1显示帖子程序
图4-1显示帖子程序流程图
显示帖子是将数据库中的所有帖子显示到用户浏览器中,这是用户进入BBS时首先能看到的内容。当然,数据库中的各字段都要有所体现。
显示帖子需要注意以下几点。
(1)根据数据库中的Status字段,判断该条记录是原文还是对原文的回复。如果是原文,则在浏览器中显示其留言的顺序号,对回复文章只标记其为“回复”,而并不显示其顺序号。
(2)帖子的详细内容并不是放在该页面中。因为BBS社区的内容比较多,加上原文和回复文章的交替出现导致社区内容上比较复杂,因此只在显示帖子程序中提供一个链接,让用户进一步操作来获得有关留言的详细内容。
(3)对帖子进行分页显示。为使界面简洁规范,我们采取每页显示15条记录的方法显示所有的帖子。
(4)在显示窗口中提供链接到查看帖子详细内容的页面。链接的主体是留言的主题。
(5)在显示窗口中提供链接到帖子作者的信箱。链接的主体是作者的E-mail地址。
(6)为了节省系统资源,在添加新留言或者回复留言之后需要重新刷新屏幕才能看到最新的帖子。
显示帖子的主程序mainnote.asp程序的部分主要代码如下:
<%
dim ipagesize '每页显示记录数
ipagesize=15
page=request.QueryString("page")
if page="" then '如果是第一次浏览该页,则说明page是空,那么就将它的值设为1
page=1
end if '连接数据库
set conn=server.CreateObject("adodb.connection")
conn.open connstring
set objnoters=server.CreateObject("adodb.recordset")
ssql="select * from notebook order by notetime desc" '将最新的留言显示在最前面
objnoters.open ssql,conn,1,3 '到此完成数据库打开操作
if objnoters.eof then
response.write "目前还没有任何文章信息!"
response.end
end if
'输出所有留言
objnoters.pagesize=ipagesize '设置每页显示记录数
pagetotal=objnoters.pagecount '根据pagesize计算总页数
objnoters.absolutepage=page '转到要显示的页
response.write "<tr><td colspan=""6""><table width=""100%"" border=0 cellspacing=0 cellpadding=2 bgcolor=#eeeeee>"
for posetion=1 to ipagesize
response.write "<tr align=center><td width 50>"
if objnoters("status")=0 then '表明这个留言记录是原创文章
'打印出此留言的编号(原文编号,没有计回文)
response.write cint(right(objnoters("noteid"),5))
else
response.write "<font color=#ff00ff>回文</font>"
end if
response.write "</td>" '下面打印出此条留言的其他部分
response.write "<td width=150>"
%>
程序基本原理:先在mainnote.asp中将数据库中Notebook表内的所有留言信息分页显示出来。按照时间进行排序,最新的留言排在最靠前的位置。判断每一条留言的状态字段,如果是原创文章,则进行编号处理;如果是回复文章,则提示该文章为“回文”。在留言主题字段提供链接,链接到留言查看程序noteview.asp具体的留言详情,传递的参数是留言的编号。
4.2.2添加帖子程序
图4-2添加帖子程序流程图
添加留言是该BBS社区的基本功能之一。添加的原理很简单,是根据数据库中的有关字段提供一个用户输入界面,根据用户的输入和程序处理插入到数据库中。然后在留言显示窗口刷新屏幕,就可以看到刚刚输入的新帖子。
添加新留言的界面用纯HTML做。