| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1691 人关注过本帖
标题:如何实现VIP到期停止权限
只看楼主 加入收藏
故事人生
Rank: 2
等 级:论坛游民
帖 子:58
专家分:36
注 册:2010-3-30
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:19 
如何实现VIP到期停止权限
现有一个购物系统
有VIP申请与管理,有没有办法实现用户自己申请,管理员后台审核开通VIP,
如果VIP用户时间到期时,不需人工操作实现,自动降低VIP会员成为普通会员功能,是否前台USER.ASP加入代码就能实现?
如VIP用户申请开通时间为2010-4-30号,时间为一年,到2011-5-01号,购物系统自动解除VIP用户功能.为普通会员功能.
有朋友帮忙解答下不.成分感谢!

时间的读取为系统或服务器时间.为准!

[ 本帖最后由 故事人生 于 2010-4-30 13:51 编辑 ]
搜索更多相关主题的帖子: VIP 权限 
2010-04-30 13:49
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:20 
可以实现
用户表可以加个状态和VIP时长字段,或者单增加一个申请表,用户填写申请后台管理员批准后改变用户组为VIP即可.
自动降级可以在用户登录时就判断,用户是否超过VIP时长,超过自动更改用户数据为普通会员。

VIP和普通会员可以通过浏览网页时判断,让VIP浏览的网页判断是否是VIP会员,是就可以浏览,不是就转到别的网页不让浏览。

[ 本帖最后由 yms123 于 2010-4-30 14:43 编辑 ]
2010-04-30 14:42
故事人生
Rank: 2
等 级:论坛游民
帖 子:58
专家分:36
注 册:2010-3-30
收藏
得分:0 
以下是引用yms123在2010-4-30 14:42:11的发言:

可以实现
用户表可以加个状态和VIP时长字段,或者单增加一个申请表,用户填写申请后台管理员批准后改变用户组为VIP即可.
自动降级可以在用户登录时就判断,用户是否超过VIP时长,超过自动更改用户数据为普通会员。

VIP和普通会员可以通过浏览网页时判断,让VIP浏览的网页判断是否是VIP会员,是就可以浏览,不是就转到别的网页不让浏览。
自动降级可以在用户登录时就判断,用户是否超过VIP时长,超过自动更改用户数据为普通会员。

这在USER里面加,更改数据库VIP会员成普通会员,

能给个详细点的代码吗?非常感谢!

我的数据库USER表里,vipdate列为VIP到期时间.就是不知怎么写个判断来验证VIP是否到期修改VIPDATE数据表为空.

<%if request.cookies("Cnhww")("reglx")=2 then%>
  <tr bgcolor="#ffffff" align="center">
    <td>VIP期限:</td>
    <td align="left"><%=cnhw("vipdate")%></td>
  </tr>
  <%end if%>
  <%

VIP和普通会员可以通过浏览网页时判断,让VIP浏览的网页判断是否是VIP会员,是就可以浏览,不是就转到别的网页不让浏览。
这个已实现了,VIP会员的价格,普通会员无法浏览.

[ 本帖最后由 故事人生 于 2010-4-30 14:58 编辑 ]
2010-04-30 14:47
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
自动降级
需要你用户表里有用户组的字段
比如如下设计
UserInfo(用户表)
UserID 用户编号 数字型 主键
UserName 用户名 文本型 主键
Password 密码 文本型
GroupName 用户组名 文本型 "普通会员|VIP"
ExpireTime 到期时长 数字型 单位"年份"
VIPStartTime VIP开始日期 日期型

然后在登陆时判断
<%
  '省去数据库打开代码
  Dim UsName,rs
  UsName=Request.Form("UserName")'假设从表单提交过来
  Set rs=conn.Execute("select * from [UserInfo] Where UserName='"&UsName&"'")
  '判断VIP会员是否到期DateDiff函数时间长比较
  'DateDiff函数的相关解释
  'http://www.
  'http://wenku.baidu.com/view/69e2c022bcd126fff7050b68.html
  'http://topic.
  'http://baike.baidu.com/view/327446.htm?fr=ala0_1_1
  IF DateDiff("YYYY",Date(Now),rs("VIPStartTime"))>rs("ExpireTime") Then
     '将VIP降级为普通会员
     conn.Execute("Update [UserInfo] set GroupName='普通会员' Where UserName='"&UsName&"'")
  End IF
  rs.Close
  Set rs=Nothing
  conn.Close
  Set conn=Nothing
%>
2010-04-30 15:19
故事人生
Rank: 2
等 级:论坛游民
帖 子:58
专家分:36
注 册:2010-3-30
收藏
得分:0 
回复 4楼 yms123
谢谢感谢,我在修改试试.
2010-04-30 15:25
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:0 
在其设定为VIP的时候就在该ID里记录一项VIP到期时间,每次登录时对比这个时间和当前的系统时间,如果VIP时间小于系统时间,就取消VIP功能。

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-04-30 15:28
故事人生
Rank: 2
等 级:论坛游民
帖 子:58
专家分:36
注 册:2010-3-30
收藏
得分:0 
    <%
  set cnhw=server.CreateObject("adodb.recordset")
  cnhw.open "select * from [user] where username='"&request.cookies("Cnhww")("username")&"' ",conn,1,1
  Dim UsName,rs
  UsName=Request.Form("UserName")'假设从表单提交过来
  Set rs=conn.Execute("select * from [User] Where UserName='"&UsName&"'")
  IF DateDiff("YYYY",Date(Now),rs("szshi"))>rs("vipdate") Then
     '将VIP降级为普通会员
     conn.Execute("Update [User] set reglx='1' Where UserName='"&UsName&"'")
  End IF
  rs.Close
  Set rs=Nothing
  conn.Close
  Set conn=Nothing
  %>

我是这样子测试的,reglx='1'为普通会员,reglx='2'VIP会员,szshi为数据库里一个不知名的列,我先测试用,我就没有在USER数据库里加入GroupName列.不知这样是否安全.
测试后登陆可以把过期VIP会员,不经人工操作即可降低成普通会员权根.
有点小问题就是,为何第一次登入还是显示VIP,要第二次退出登入才可以降级普通会员!
如果不退出 就是VIP

[ 本帖最后由 故事人生 于 2010-5-2 20:30 编辑 ]
2010-05-02 20:29
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
那可能是你虽然降级了,但降级后应该再次数据库读取一下当前用户的信息,虽然数据库里的数据改变了,但页面数据没有跟数据库里的数据同步。所以可能就出现了不退出还是vip
2010-05-02 20:37
故事人生
Rank: 2
等 级:论坛游民
帖 子:58
专家分:36
注 册:2010-3-30
收藏
得分:0 
回复 8楼 yms123
谢谢!谢谢版主这么及时的回答,哪我应当怎么样来加入代码重新在读取数据库,才能一登陆就可以降级权权为普通用户呢.我是菜鸟还是版主多多赐教.非常感谢!
2010-05-02 20:38
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
    <%
  set cnhw=server.CreateObject("adodb.recordset")
  cnhw.open "select * from [user] where username='"&request.cookies("Cnhww")("username")&"' ",conn,1,1
  Dim UsName,rs
  UsName=Request.Form("UserName")'假设从表单提交过来
  Set rs=conn.Execute("select * from [User] Where UserName='"&UsName&"'")
  IF DateDiff("YYYY",Date(Now),rs("szshi"))>rs("vipdate") Then
     '将VIP降级为普通会员
     conn.Execute("Update [User] set reglx='1' Where UserName='"&UsName&"'")
  End IF
  rs.Close
  Set rs=Nothing
  conn.Close
  Set conn=Nothing
  %>
这段降级代码所在页面的全部代码贴出来看一下。
2010-05-02 21:02
快速回复:如何实现VIP到期停止权限
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015760 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved