网上购物已成为生活的潮流,在网上购物之后,想要随时查看自己已买的东西,想要随时删除或修改某件商品数量,要怎么做呢?下面我就来写代码及释义。先来做用户登陆页面(login.asp):
用户名:
密码: |
|
|
然后来写接收用户所填写的信息以检查是否存在该用户的页面(check.asp),如果存在该用户,那么就跳到购物的首页(index.asp):
<%
uname=request.Form("username")
upass=request.Form("userpass")
sql="select*fromuserswhereuname='"&;uname&;"'andupass='"&;upass&;"'"
setrs=server.CreateObject("adodb.recordset")
rs.opensql,conn,3,1
ifnotrs.eofthen
用户登陆成功之后,将用户名放入session里,并给用户分配一个订单,就像去超市购物推着一个购物车,此时这个购物车是属于你的,用用户名和系统时间作为购物车的名字,然后跳转到购物首页。
session("name")=uname
session("orderid")=time&;uname
response.Redirect("index.asp")
else
%>
<%
endif
rs.close
setrs=nothing
conn.close
setconn=nothing
%>
那么,接下来就是购物的首页(index.asp)了
下面用css样式表将表格里的字体统一设置为14号字
‘
<%
如果用户没登陆就直接打开购物首页,那么就跳转到登陆页面
ifsession("name")=""then
response.Redirect("login.asp")
endif
%>
做一个搜索的文本框,方便用户搜索商品。其原理是这样的:用户填入要搜索的商品后,通过表单提交到本页面,从数据库中查找像用户填写的字符串的商品,再显示出来
<%
searchname=request.Form("search")‘得到用户填写的字符串
sql="select*fromproductswherepnamelike'%"&;searchname&;"%'"‘写sql语句,查找出结果
setrs=server.CreateObject("adodb.recordset")‘设置一个结果集对象
rs.opensql,conn,3,1
whilenotrs.eof‘循环输出商品的相关信息
%>
每个商品下面都有一个购买按钮,需要做一个表单
dth="103"rowspan="3">
名称:
<%=rs(1)%>
|
价格:<%=rs(3)%> |
|
<%
rs.movenext‘指向下一个记录
wend
rs.close
setrs=nothing
conn.close
setconn=nothing
%>
如果用户想要查看商品更详细的信息,那么就应该将商品图片做成一个超链接,连接到product.asp,在该页面显示详细信息。在该页面也有一个购买按钮,点击之后同样跳到buy.asp:
<%
pid=request.QueryString("id")
response.Write(pid)
sql="select*fromproductswherepid="&;pid
setrs=server.CreateObject("adodb.recordset")
rs.opensql,conn,3,1
ifnotrs.eofthen
%>
名称:<%=rs(1)%>
|
价格:<%=rs(3)%> |
<%=rs(4)%>
|
xml:namespace prefix = inputtype="button"onclick="javascript />‘点击购买之后触发一个onclick事件,跳转到buy.asp
|
<%
endif
rs.close
setrs=nothing
conn.close
setconn=nothing
%>
用户点击了购买以后,将该商品的id传到buy.asp,下面来写buy.asp的代码:
‘将连接数据库的字符串包含进来
<%
pid=request("id")‘得到商品的id
price=request("price")‘得到商品的价格
sql="select*frommrcarwherepid="&;pid&;"andorderid='"&;session("orderid")&;"'"‘写sql语句来查询
setrs=server.CreateObject("adodb.recordset")
rs.opensql,conn,3,1
如果用户所要购买的商品已经买过,那么就直接在原来的基础上加1,否则的话,就插入记录
ifnotrs.eofthen
sql="updatemrcarsetpcount=pcount+1wherepid='"&;pid&;"'andorderid='"&;session("orderid")&;"'"
conn.executesql
response.Redirect("mycar.asp")
else
sql="insertintomrcar(orderid,pid,price,pcount)values('"&;session("orderid")&;"',"&;pid&;","&;price&;",1)"
conn.executesql
response.Redirect("mycar.asp")
endif
rs.close
setrs