ASP编程:一个在线买卖市场计划的计划与完成(一)...
ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;计划|在线本文计划了一个网上商品买卖体系。作为假造社区的一部分,体系摹拟实际生存中人们的市场举动,为社区用户供应购销服务。使用该体系,用户既可公布和查询供求信息,又可及时在线交换,表达购销意向,处置购销举动,从而完成在线买卖。体系以WindowsNT4.0为平台,接纳IIS4.0做Web服务器,MSSQLServer7.0做数据库服务器,数据库中设有效户表、供求信息表和成交纪录表,三个数据表纪录有关的买卖数据,开辟工具接纳HTML、ASP和JavaScript,部分程序以下。
用户身份认证子体系
体系接纳会员制,一切用户必需起首注册,才干进进市场。对用户举行分级办理,依据分歧的用户级别决意用户所挂号的供求信息公布工夫的是非。经由过程用户名和暗码把持用户的挂号举动和买卖举动。该子体系次要由程序LOGIN.HTM、CHECK.ASP完成。
供应用户登录界面
//LOGIN.HTM
……
<FORMaction=“check.asp"method=
“post"name=“form1"target=“_top">
用户:<INPUTname=“username"size=“16"><br>
暗码:<INPUTname=“userpd"type=
“password"size=“16"><br>
<INPUTtype=“submit"value=“进进">&nbsp;&nbsp;
<INPUTtype=“reset"value=“重写">
……
对用户登录信息举行正当性考证并主动挂号新用户
//CHECK.ASP
……
’处置已注册用户的操纵
ifnotrs.eofthen
’暗码不准确
ifuserpd#trim(rs(1).value)then
response.write“<title>登录堕落提醒</title><br>"
response.write“<center>“用户名”和
“暗码”不婚配!</center><br>"
response.write“缘故原由与处置举措:<br>
1.假如您是第一次登录,则是该用户名已被别人注册过!
您只能换其他名字注册;<br>"
response.write“2.假如您之前已经用该名字注册乐成,
那末是暗码毛病;<br>"
response.write“3.假如暗码没有成绩,
则多是您的用户名已被他人盗用,
而且盗用者变动了暗码"
response.write
“请与<ahref=mailto:nicstaff@lyac.edu.cn>
办理员</a>接洽。"
response.write“<ahref=‘javascript:history.go
(-1);>点击这里举行修正</a></body>"
response.end
else登录准确,进进市场
response.redirect“market.htm"
endif
处置未注册的新用户
else
sql1=“insertpark_usersvalues
(‘“&username&",‘“&userpd&",
getdate(),getdate(),1)"
sql2=“insertpark_onlinevalues
(‘“&username&",‘“&ip&",getdate())"
conn.execute(sql1)
conn.execute(sql2)
response.write“<center>
!!!接待您到临!!!</center><br>"
response.write“<center>您的用户名是:”
&request.form(“username")&“”&
“暗码是:”&request.form(“userpd")&“<br>"
response.write“再次到临您可持续利用以上数据!
<br></center>"
endif
……
供求信息查询子体系
用户经由过程簿子体系可失掉具体的供求信息,包含供求的商品称号、代价、数目、接洽办法和有关形貌,乃至图片、音频和视频。用户可接纳分类扫瞄和关头词查询两种体例,关于关头词查询,只需输出商品称号或暗示商品用处、外形等的单词或短语,体系便可经由过程专门的查询算法,对数据库举行准全文式的含混查询。簿子体系次要由程序SEARCH1.ASP、SEARCH2.ASP和LINK.ASP完成。
承受并完成用户查询哀求
//SEARCH1.ASP
……
’来自查询界面的数据
c_type=request.querystring(“c_type")
goods_class=request.form(“D1")
s=request.form(“T1")
setconn=server.createobject(“adodb.connection")
’翻开数据库
conn.connectionstring=“driver={sqlserver};
server=;uid=;pwd=;database="
conn.open
setsession(“rs")=server.createobject
(“adodb.recordset")
’机关检索算法
ifgoods_class=“全体"then
sql=“selectgoods_name,goods_class,
description,publisher,contact,pub_datefrommarket_goods
whereclient_type=‘“&c_type&"and
goods_namelike‘%“&s&"%"
else
sql=“selectgoods_name,goods_class,
description,publisher,contact,pub_datefrommarket_goods
whereclient_type=‘“&c_type&"andgoods_class=
‘“&goods_class&"andgoods_namelike‘%“&s&"%"
endif
……
ifc_type=“s"then
response.write“<center>卖方市场</center>"
else
response.write“<center>买方市场</center>"
endif
……
<!--#includefile=“link.asp"-->
当检索了局凌驾一屏时,完成其他屏的显现
//SEARCH2.ASP
……
forj=1tosession(“rs").pagesize
response.write“<tr>"
response.write“<td>”&session
(“rs").absoluteposition&“</td>"
fori=0tosession(“rs").fields.count-1
response.write“<td>”&session
(“rs")(i).value&“</td>"
next
response.write“</tr>"
session(“rs").movenext
ifsession(“rs").eofthen
exitfor
endif
next
……
<!--#include</p>ASP脚本是采用明文(plaintext)方式来编写的。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
页:
[1]