我想做一个网上购物,就是怎么让存在数据库里购物车的信息,在关闭浏览器的时候删掉。(不用SESSION)
我的意思就是想在关闭浏览器的时候(不仅是关闭一个页面,而是当整个程序的最后一个页面被关闭时,才将购物车里的数据删掉)。这是没有登录的时候。因为很多人放到购物车之后,数据存...
我的意思就是想在关闭浏览器的时候(不仅是关闭一个页面,而是当整个程序的最后一个页面被关闭时,才将购物车里的数据删掉)。这是没有登录的时候。
因为很多人放到购物车之后,数据存到数据库,时间长了会 越来越多,我就想写程序来自动删除他。 展开
因为很多人放到购物车之后,数据存到数据库,时间长了会 越来越多,我就想写程序来自动删除他。 展开
3个回答
展开全部
购物车存cookie,现在的商城基本这么解决!
php的cookie,如果不让用session和cookie,非得存数据库的话,那么可以这样解决:
当用户关闭了浏览器,这时你想做的直接清除数据库的内容,我暂时想不到。不过可以在用户下次访问的时候,去读取cookie,若未读取到cookie,则通过ip为标示去查找并删除服务端的数据库记录,然后当检测到客户端有加入购物车的行为时,同时在客户端写cookie以及服务端数据库做记录,数据库端还要记录客户端的ip地址,为客户端的cookie设定一个合理的生存周期。
若以检测到cookie,则只需通过用户的行为更新cookie内容以及数据库内容即可。
当然,这还没考虑IP共享等等状况,只是个大概的想法。。
你们真变态,做商城,做可能不让用cookie和session?
php的cookie,如果不让用session和cookie,非得存数据库的话,那么可以这样解决:
当用户关闭了浏览器,这时你想做的直接清除数据库的内容,我暂时想不到。不过可以在用户下次访问的时候,去读取cookie,若未读取到cookie,则通过ip为标示去查找并删除服务端的数据库记录,然后当检测到客户端有加入购物车的行为时,同时在客户端写cookie以及服务端数据库做记录,数据库端还要记录客户端的ip地址,为客户端的cookie设定一个合理的生存周期。
若以检测到cookie,则只需通过用户的行为更新cookie内容以及数据库内容即可。
当然,这还没考虑IP共享等等状况,只是个大概的想法。。
你们真变态,做商城,做可能不让用cookie和session?
更多追问追答
追问
哪能说做网站不用SESSION呢,这是给我出的难题,只能用COOKIE,我问的是怎么删除数据库里 购物车表里的垃圾信息,因为有些人进入到我的网站,把商品添加到购物车,然后没有购买,就关闭浏览器了,数据会一直存在MYSQL里,这是在没有登录的情况下,所以我要删除,不保留他的信息,如果登录的话才保留信息。
追答
~他们为什么给你出这个难题??
按你所说,用户加一次购物车,在数据库里写一次数据的话,数据库操作稍显频繁,耗费资源,如果确实需要把购物车记录进数据库,进行数据分析的话,先把用户的购物车记录先暂存在session里,在用户退出,或者session失效的时候,再一次性写入数据库,这样我认为是比较合理的!
--------------------------
然后我想知道,你说的不用session,但还是需要检测客户端浏览器关闭的这个事件之后在进行数据库操作,可以考虑使用其他的交互技术。
--------------------------
你对另外一个人的追问:那你就告诉我怎么能看到上次用户看过的商品,怎么存到COOKIE里的?
这个实现是这样的,用户一旦有添加购物车的行为,你就将当前商品的主键ID写入到特定的cookie中。当用户关闭浏览器,下次打开你们网站,你可以先去读cookie,取到里面商品的主键id,然后将商品信息加入他当前的购物车,能理解吗?
展开全部
刚开始设计的时候就有问题
不应该存在数据库中,那样会加大数据库的负担。最好的方法就是存在session中,既然你不想存在session中,那就存到本地吧。存在cookie中。这样每当用户打开网页的时候还能看到上次用户看过那些商品
不应该存在数据库中,那样会加大数据库的负担。最好的方法就是存在session中,既然你不想存在session中,那就存到本地吧。存在cookie中。这样每当用户打开网页的时候还能看到上次用户看过那些商品
更多追问追答
追问
我知道有负担,所以要做一个删除的程序,我们不让用SESSION,不能都存到COOKIE里,数据库里需要存数据才行,如果你不知道的话,那你就告诉我怎么能看到上次用户看过的商品,怎么存到COOKIE里的,说的详细点。谢了,希望看到快点回复。
追答
asp中是response.cookies["cookiename"].Value=变量值;;取值是string name=request.cookies["cookieName"].Value;
jsp保存cookie:
保存到cookie
Cookie cookie=new Cookie("name","value");
Cookie cookiep=new Cookie("mima",pass);
cookie.setMaxAge(10*60); //设置过期之前的最长时间
cookiep.setMaxAge(10*60);
response.addCookie(cookie);
response.addCookie(cookiep);
读取cookie
Cookie Cookies[]=request.getCookies();
if(Cookies==null)
out.print("还没有cookie值");
else
{
for(int i=0;i ");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想、、是不是可以在用户每次登入的时候将该用户的购物车清空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询