基于web的古玩网站设计与实现

三、 系统总体设计

(一)功能设计

根据本网站的功能需要,设计以下功能:

图3.1 古玩网站主要模块

下面对各模块进行分析:

首 页:是本系统的核心,对各作品进行展示、定购。

公司简介:对公司的基本信息的简述。

最新产品:可以对最新的产品,让客户能及时查看,可以看到作品的名称、简介、作品全方面展示。

产品展示:对各类产品的总体展示,可以看到所有作品。

在线定单:是本系统的主要功能,实现网上订购功能,用户可以在网上查看作品并能发定单。

客户服务:对咨询者和现有用户进行网上服务。想用以邮箱、QQ形式进行咨询。

联系我们:给出公司的地址、传真、电话等。

(二)数据库设计

根据研究目标和系统功能需要,设计以上模块。下面就详细介绍系统数据描述以及各个功能模块中数据库的设计与实现。

1 .概念设计

利用数据模型进行概念数据库的模式设计。它不依赖任何DBMS(数据库管理系统)常用的数据模型为ERM(实体联系模型),用到的术语有:实体、属性、联系、键。下面是本网站的E-R图:

2 .逻辑结构设计

数据库逻辑结构设计把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。

|----------|------|-----|------------------|----|-------|---|
| Admin(管理员表) |||||||
| 字段名 | 类型 | 宽度 | 可否为空 | 主键 | 说明 | |
| ID | 自动编号 | 长整型 | NOT NULL | 是 | 管理员编号 | |
| admin | 文本 | 50 | NULL | 否 | 用户名 | |
| password | 文本 | 50 | NULL | 否 | 密码  | |
| flag | 数字 | 长整型 | NULL | 否 | 登陆次数 | |

图3-5管理员表

|------------|------|-----|------------------|----|-------|---|
| title(上传作品表) |||||||
| 字段名 | 类型 | 宽度 | 可否为空 | 主键 | 说明 | |
| titleID | 自动编号 | 长整型 | NOT NULL | 是 | 上传编号 | |
| titleName | 文本 | 50 | NULL | 否 | 上传类名 | |
| ClassName | 文本 | 50 | NULL | 否 | 作品说明  | |
| Photoer | 文本 | 50 | NULL | 否 | 作者 | |
| user | 文本 | 50 | NULL | 否 | 上传人 | |
| updatetime | 日期时间 | | NULL | 否 | 上传时间  | |

图3-6 上传作品表

|----------|------|-----|------------------|----|------|---|
| oklink(友情连接表) |||||||
| 字段名 | 类型 | 宽度 | 可否为空 | 主键 | 说明 | |
| ID | 自动编号 | 长整型 | NOT NULL | 是 | 友情编号 | |
| linkName | 文本 | 50 | NULL | 否 | 网站名 | |
| linkUrl | 文本 | 50 | NULL | 否 | 网址  | |

图3-7 友情连接表

|-----------|------|-----|------------------|----|-------|---|
| Imgbook(上传图片表) |||||||
| 字段名 | 类型 | 宽度 | 可否为空 | 主键 | 说明 | |
| ID | 自动编号 | 长整型 | NOT NULL | 是 | 图片编号 | |
| titleID | 数字 | 长整型 | NULL | 否 | 上传编号 | |
| click | 数字 | 长整型 | NULL | 否 | 点击次数  | |
| PhotoNumr | 备注 | | NULL | 否 | 图片说明 | |
| genxing | 日期时间 | | NULL | 否 | 上传时间 | |
| photo | 文本 | 50 | NULL | 否 | 图片路径  | |

图3-8 上传图片表

|---------|------|-----|------------------|----|-------|---|
| affiche(消息表) |||||||
| 字段名 | 类型 | 宽度 | 可否为空 | 主键 | 说明 | |
| ID | 自动编号 | 长整型 | NOT NULL | 是 | 消息编号 | |
| title | 数字 | 长整型 | NULL | 否 | 消息名称 | |
| content | 备注 | | NULL | 否 | 主要内容  | |
| time | 日期时间 | | NULL | 否 | 上传时间 | |

图3-9 消息表

(三)系统功能模块的实现

1.登陆模块

本模块是登陆古玩网站后台的窗口,默认的的用户名为admin、密码为admin,认证码是随机生成的。

图4-6登陆界面

登陆模块代码

<%

dim s

randomize timer

s=Int((8999)*Rnd +1000)

%>

<html>

<head>

<title>管理员登陆</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<link href="../style/style.css" rel="stylesheet" type="text/css">

<script language=javascript>

function xxg()

{

if (document.form1.user.value==""){

alert("您的姓名?")

document.form1.user.focus();

return false

}

if (document.form1.password.value==""){

alert("您的密码?");

document.form1.password.focus();

return false

}

return true

}

function reset_form()

{

document.form1.user.value="";

document.form1.password.value="";

document.form1.s.value="";

document.form1.user.focus;

}

</script>

</head>

<body leftmargin="0" topmargin="60" marginwidth="0" marginheight="0" οncοntextmenu="return false;" onselectstart="return false;">

<table width="770" height="156" border="0" align="center" cellspacing="0">

<tr>

<td align="center"><form name="form1" method="post" action="loginchk.asp" onSubmit="return xxg()">

<table width="257" border="0" align="center" cellpadding="1" cellspacing="1" height="113" style="border: 1 solid #000000">

<tr>

<td height="23" colspan="2" background="../pic/vip005bg.gif"><div align="center">古玩管理登录</div></td>

</tr>

<tr>

<td align="center" width="71">姓<font color="#FFFFFF">网</font>名:</td>

<td width="179"> <input type="text" name="user"> </td>

</tr>

<tr>

<td align="center" width="71">密<font color="#FFFFFF">尽</font>码:</td>

<td width="179"> <input type="password" name="password"> </td>

</tr>

<tr>

<td align="center">认证码:</td>

<td><input name="s" type="text" size="14">

<b><%=s%></b>

<input maxlength=20 name="s2" size=12 type=hidden value="<%=s%>"></td>

</tr>

<tr>

<td align="center"> </td>

<td><input type="submit" name="Submit" value=" 登 陆 ">

<input type="reset" name="Submit2" value=" 取 消 " style="width: 64px" onClick="reset_form()"></td>

</tr>

</table>

</form></td>

</tr>

</table>

</body>

</html>

2.后台主界面模块

古玩网站后台主界面如下图,它由图片管理、用户管理、分类管理、设置管理、数据管理、系统信息等模块构成。登陆成功后会显示登陆时间、IP、服务器信息。

图4-7后台主界面

代码略!

3.用户管理模块

本模块主要对用户管理,可以增加新用户、对以有的用户进行修改、删除。本网站对用户分两类,一类是管理员,可以对网站进行任何操作。另一类是普通用户,只能对后台的信息进行查看,没有修改、增加、删除功能。

图4-8用户管理界面

\\添加用户代码\\

</table>

<form name="form1" method="post" action="usermana.asp">

<table width="438" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td>

<div align="center">共有用户:<font color=red><%=rs.recordcount-1%></font> <a href=usermana.asp class="black">

首页</a> <a href=usermana.asp?page=<%=currentpage-1%> class="black">

上一页</a> <a href=usermana.asp?page=<%=currentpage+1%> class="black">下一页</a>

<a href=usermana.asp?page=<%=rs.pagecount%> class="black">尾页</a>

<input name="search" type="hidden" id="search" value="<%=search%>">

<input name="key" type="hidden" id="key" value="<%=key%>">

</div></td>

</tr>

</table>

</form>

<form name="form2" method="post" action="usermana.asp?style=add" onSubmit="">

<table width="438" height="101" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td colspan="3" align="center">填加用户</td>

</tr>

<tr>

<td width="67" align="center">姓名</td>

<td width="154"><input name="user" type="text" id="user"></td>

<td width="217">密码 <input name="pass" type="password" id="pass"></td>

</tr>

<tr>

<td align="center"> </td>

<td colspan="2"> </td>

</tr>

<tr>

<td align="center">权限</td>

<td> <input name="flag" type="radio" value="1" checked>

用户

<input type="radio" name="flag" value="0">

管理员</td>

<td>

<input type="submit" name="Submit2" value="提交" onClick="return xxg();"></td>

</tr>

<tr>

<td> </td>

<td colspan="2"> </td>

</tr> </table>

4.分类管理模块

本模块可为古玩作品进行分类。可以对以有的类进行修改、删除。还可以用户的需要进行增加新的类别。现在网站按用户要求分为推荐产品、产品展示、最新产品、特价产品四类。各类别可以根据需要进行顺序的改变。

图4-9分类管理界面

</script>

</head>

<body topmargin="0">

<table width="438" height="166" border="0" align="center" cellpadding="0" cellspacing="0">

<tr>

<td height="32" colspan="2"><strong>

<p align="center">分类管理</p>

</strong></td>

</tr>

<tr>

<td width="4%" height="111" rowspan="2"> </td>

<td width="96%" height="46"> <form name="form3" method="post" action="admin_class.asp?style=add" onSubmit="return xxg()">

<table width="100%" height="35" border="0" cellpadding="0" cellspacing="0">

<tr>

<td width="19%" height="15"> </td>

<td width="55%" align="center"> </td>

<td width="26%"> </td>

</tr>

<tr>

<td>填加分类</td>

<td colspan="2"> <input name="classname3" type="text" id="classname" style="width: 258px">

<input type="submit" name="Submit3" value="填加">

</td>

</tr>

</table>

</form></td>

</tr>

<tr>

<td height="36"> <form name="form1" method="post" action="admin_class.asp?style=modify">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="19%">更改分类</td>

<td width="81%"><select name="classname" id="select2">

<% sql1="select * from classname order by RootID"

set rs1=conn.execute(sql1)

do while not rs1.eof %>

<option value=<%=rs1("classname")%>>

<%=rs1("classname")%></option>

<% i=i+1

rs1.movenext

loop %>

</select>

该名为

<input name="newclassname" type="text"> <input type="submit" name="Submit" value="修改">

</td>

</tr>

</table>

</form></td>

</tr>

<tr>

<td> </td>

<td><form name="form2" method="post" action="admin_class.asp?style=del">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="19%">删除分类</td>

<td width="81%"> <select name="classname2" id="select3">

<% sql1="select * from classname order by RootID"

set rs1=conn.execute(sql1)

do while not rs1.eof %>

<option value=<%=rs1("classname")%>>

<%=rs1("classname")%></option>

<%i=i+1

rs1.movenext

loop

rs1.close

set rs1=nothing%>

</select>

<input type="submit" name="Submit2" value="删除"></td>

</tr>

</table>

</form></td>

</tr>

</table>

<table width="420" border="0" align="center" cellpadding="0" cellspacing="1" class="border">

<tr class="title">

<td height="22" colspan="4" align="center"><strong>分类重新排序</strong></td>

</tr>

<% j=1 do while not rsClass.eof %>

<tr>

<td width="125"><%=rsClass("classname")%></td>

<td width="310">

<table border="0" cellpadding="0" cellspacing="1">

<tr><% if j>1 then

response.write

"<form action='?Action=UpOrder' method='post'><td width='150'>"

response.write

"<select name=MoveNum size=1><option value=0>向上移动</option>"

for i=1 to j-1

response.write

"<option value="&i&">"&i&"</option>"

next

response.write "</select>"

response.write

"<input type=hidden name=ID value="&rsClass("ID")&">"

response.write

"<input type=hidden name=cRootID value="&rsClass("RootID")&"> <input type=submit name=Submit value=修改>"

response.write "</td></form>"

else

response.write

"<td width='150'> </td>"

end if

if iCount>j then

response.write

"<form action='?Action=DownOrder' method='post'><td width='150'>"

response.write

"<select name=MoveNum size=1><option value=0>向下移动</option>"

for i=1 to iCount-j

response.write

"<option value="&i&">"&i&"</option>"

next

response.write "</select>"

response.write

"<input type=hidden name=ID value="&rsClass("ID")&">"

response.write

"<input type=hidden name=cRootID value="&rsClass("RootID")&"> <input type=submit name=Submit value=修改>"

response.write "</td></form>"

else

response.write "<td width='150'> </td>"

end if

%> </tr>

</table>

</td>

</tr>

<%

j=j+1

rsClass.movenext

loop

%>

</table>

5.图片管理模块

本模块是本网站的主要部分,分为添加古玩作品、flash管理、管理作品三大部分。先介绍添加作品这一模块,每次最多可以添加五张作品图片。添加到哪类、本张作品的名称、作者、作品说明都要添加。

图4-10添加图片界面

\\添加第一张图片//

</script>

</head>

<body>

\\下面这个IF是调出Classmana页(图片管理),并与相连//

<% sql="select classname from classname" set rs=conn.execute(sql)

If rs.bof Then

rsclose()

ConnClose()

Response.Write("<br><br><br><br><br><br><br><center>

<a href=classmana.asp><font size=2 color=red>现在图片没有分类.请先填加分类!!!</font></a></center>")

Response.End

End If %>

<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">

<form action="upload.asp" method="post" enctype="multipart/form-data" name="upload">

<tr align="center">

<td height="30" colspan="2"><strong>图 片 上 传</strong></td>

</tr>

<tr>

<td width="157" height="22" align="right">所属分类:</td>

<td width="443"><select class="input" id="select" style="WIDTH: 125px" name="classname">

<% sql1="select classname from classname order by RootID"

set rs1=conn.execute(sql1)%>

<option value=<%=rs1("classname")%> selected>

<%=rs1("classname")%></option>

<% rs1.movenext

do while not rs1.eof %>

<option value=<%=rs1("classname")%>><%=rs1("classname")%></option>

<%i=i+1 rs1.movenext loop rsclose() ConnClose()%>

</select></td>

</tr>

<tr>

<td height="22" align="right">组图名称:</td>

<td><input name="Title" type="text" id="Title" size="20">

</td>

</tr>

<tr>

<td height="22" align="right"><label>作 者:</label></td>

<td><input name="Photoer" type="text" id="Photoer" size="20">

[可不填]</td>

</tr>

<tr>

<td height="22" align="right" valign="top">简单说明:</td>

<td><input name="Desc" type="text" id="Desc" size="46">

[50字以内]</td>

</tr>

<tr>

<td height="22" align="right"><strong>选择图片</strong></td>

<td> </td>

</tr>

<tr>

<td height="22" align="right">图片一:</td>

<td><input style="WIDTH: 300px" type="file" name="file1">

推荐

<input name="Recomm1" type="checkbox" id="Recomm1" value="True">

</td>

</tr>

<tr>

<td height="22" align="right" valign="top"> </td>

<td><textarea name="Content1" cols="40" rows="6" id="Content1" onMouseOver="this.select();">图片一描述</textarea></td>

</tr>

<tr>

6.FLASH管理模块

本模块是对网站首页滚动的flash进行修改。每次可以上传1到5张图片,还可你设置flash在窗口显示的比例。

图4-11 FLASH管理

\\上传一张图片//

<td width="76" height="22">图片1链接</td>

<td colspan="2"><input name="elink" type="text" id="elink" value="<%=rs1("elink")%>" size="45"></td>

</tr>

<tr>

<td width="76" height="22">图片1文件</td>

<td colspan="2"><input name="eimage" type="text" id="eimage" value="

<%=rs1("eimage")%>" size="45">

<input name="Submit45" type="button" class=2 onClick="MM_openBrWindow('flash_images_1_upload.asp','','width=350,height=200')" value="上 传" ></td>

******7.**图片管理模块

本模块可以对所有上传的作品进行管理,可以修改、删除等操作。可以按类别查询,如果知道作品的ID号也可以查询。

图4-12图片管理界面

\\在可以选择图片种类,对它进行修改、删除//

<td><input name="id" type="checkbox" id="id" value="<%=rs("ID")%>" οnclick="unselectall()"></td>

<td height="20">

<a href="../img.asp?id=<%=rs("ID")%>&title=<%=rs("titleName")%>" target=_blank class="black"><%=rs("titleName")%></a></td>

<td height="20"><div align="center">

<script src="../showpic.asp?location=manage&FileName=<%=rs("photo")%>">

</script></div></td>

<td height="20">

<div align="center"><%=formatdatetime(rs("updatetime"),2)%></div></td>

<td height="20" align="center">

<%if rs("Recomm") then%>

<span class="style1">√</span>

<%else%>

<strong>×</strong>

<%end if%></td>

<td height="20">

<div align="center">

<font color="#FF0000"><%=rs("user")%></font></div></td>

<td height="20" align="center">

<a href="setRec.asp?rec=1&ID=<%=rs("id")%>&page=<%=currentpage%>" class="black">推荐</a> |

<a href="setRec.asp?rec=0&ID=<%=rs("id")%>&page=<%=currentpage%>" class="black">不推荐</a>

<a href="modify.asp?id=<%=rs("id")%>&Num=<%=rs("PhotoNum")%>

&page=<%=currentpage%>&titleID=<%=rs("titleID")%>&user=<%=rs("user")%>" class="black">修改</a> | <a href="delete.asp?id=<%=rs("ID")%>&titleID=<%=rs("titleID")%>&page=<%=currentpage%>" class="black">删除</a></td>

其他的定制服务 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

相关推荐
活宝小娜8 分钟前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点11 分钟前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow12 分钟前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o13 分钟前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
没书读了39 分钟前
ssm框架-spring-spring声明式事务
java·数据库·spring
开心工作室_kaic1 小时前
ssm161基于web的资源共享平台的共享与开发+jsp(论文+源码)_kaic
java·开发语言·前端
刚刚好ā1 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
i道i1 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl1 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502772 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序