PHP时间戳/成员资格系统未在确切日期到期

时间:2011-07-13 14:43:27

标签: php system membership

在创建带有时间戳的小型会员系统时,我遇到了一些问题。当我在日期中显示时间戳时,它会告诉我活动成员资格何时到期。但是,在该时间/日期,它将不会过期,并且重置成员资格的脚本将从-NUMBERHERE开始计算。

我不认为我做错了什么?我正在做(time() - $timestamp)来解决这个问题。这是我的剧本;

$membership = mysql_query("SELECT * FROM `members` WHERE `membership` > 0 AND `membertype` > 0") or die(mysql_error());
while($mm = mysql_fetch_array($membership)){

  if((time() - $mm["membership"]) > $mm["membertype"]){
     mysql_query("UPDATE `members` SET `membership` = 0, `membertype` = 0 WHERE `username` = '" . $mm[username] . "'");
  } else {
     echo (time() - $mm["membership"]);
  }

}  

$membership_date  = date("d-m-Y H:i:s", $user["membership"]);
echo "Your membership expiry date: $membership_date";

它确实会过期,但它会很晚才到期。任何帮助都会很棒,谢谢。

P / S:membertype变量是到期之前的秒数。

1 个答案:

答案 0 :(得分:2)

创建用户时:

$membership = time() + $membertype;

然后设置您的查询并执行。

检索用户时:

替换此行

if((time() - $mm["membership"]) > $mm["membertype"]){

用这个:

if( time() >= $user["membership"] )