我在创建一个带有时间戳的小型会员系统时遇到了一些问题。当我在日期中显示时间戳时,它将告诉我活动成员资格何时到期。然而,在那个时间/日期,它不会过期,并且脚本重置成员资格,并从-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
变量是距离过期的秒数
创建用户时:
$membership = time() + $membertype;
然后设置查询并执行。
检索用户时:
替换这一行
if((time() - $mm["membership"]) > $mm["membertype"]){
与这个:if( time() >= $user["membership"] )