PHP timestamp / членство системы не истекает на точную дату - PullRequest
0 голосов
/ 13 июля 2011

У меня возникли некоторые проблемы при создании небольшой системы членства с отметками времени. Когда я показываю метку времени в дате, она сообщит мне, когда истечет срок активного членства. Однако в это время / дату он НЕ истекает, и скрипт, который сбрасывает членство и считается из -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 Ответ

2 голосов
/ 13 июля 2011

При создании пользователя:

$membership = time() + $membertype;

Затем настройте свой запрос и выполните.

При получении пользователя:

Замените эту строку

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

с этим:

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