У меня есть система регистрации и входа в систему, которая изначально устанавливает первую дату и время регистрации.Каждый раз, когда пользователь входит в систему, у меня есть запрос, который проверяет разницу во времени между зарегистрированным временем и текущим временем.если разница во времени больше или равна 180 секундам, добавьте 10 к столбцу рейтинга этого пользователя и сбросьте текущее время входа в систему как новую дату / зарегистрированное время, затем перенаправьте пользователя на страницу индекса.
Еслиразница во времени составляет менее 180 секунд, просто перенаправьте пользователя на индексную страницу, не добавляя номер в таблицу рейтинга.
Я пробовал много кодов, которые исследовали, как заставить это работать, все, что я вижу, это работа cron.я не хочу делать это с помощью cron.
должен быть способ, пожалуйста, помогите.ребята, вы должны спасти меня.Это то, что я сделал
<?php
// This is part of the code
//$_SESSION['id'] = $id;
$_SESSION['email'] = $email;
date_default_timezone_set("Africa/Lagos");
// getting the time query difference
$sql1 = "SELECT TIMESTAMPDIFF(SECOND, date, NOW()) AS tdif FROM
users WHERE email='$email'";
$result = $con->prepare($sql1);
$result->execute();
$result->bind_result($tdif);
$result->fetch();
//var_dump($tdif);
if ($tdif >= 180) {
//following code suppose run once every 180seconds
//update user's page rank
$sql2 = "UPDATE users SET rating = rating + 10 WHERE email='$email'";
$result2 = $con->query($sql2) or die("Unable to select and run query");
//update last execution time
$sql3 = "UPDATE users SET date = NOW() WHERE email='$email'";
$result3 = $con->query($sql3) or die("Unable to select and run query");
}
//login me in
redirectToIndexPage();
// This Outputs Unable to select and run query
?>
Этот код просто добавляет 10 к рейтингу, независимо от разницы во времени все время.другими словами, он продолжает добавлять 10 каждый раз, когда пользователь входит в систему, что, как предполагается, происходит только через 3 минуты (180 секунд) от последнего входа в систему или зарегистрированной даты и времени
Пожалуйста, помогите, я знаю, что что-то не так.