Обновление: , поскольку вы хотите, чтобы числа увеличивались в фоновом режиме независимо от входа / выхода, используйте cron jobs
, см. , это для получения дополнительной информации
Вы должны использовать счетчик для каждого логина пользователя, который должен быть постоянным, поэтому сохраняйте этот счетчик в БД в зависимости от того, что вы используете для своего приложения.
Поток будет выглядеть так:
Проверка входа в систему> Вход в систему выполнен успешно> Получить текущий счетчик входа в систему из БД для этого конкретного пользователя> Увеличить на единицу> Сохранить его обратно в БД
Общая реализация в php будет выглядеть так (учитывая, что имя пользователя всегда уникально)
Примечание: приведенный ниже код не тестируется
.
.
.
$stmt = $con->prepare("SELECT user_id, username, password, login_count FROM users WHERE username=? AND password=? LIMIT 1");
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->bind_result($user_id, $username, $password, $loginCount);
$stmt->store_result();
if($stmt->num_rows == 1) //To check if the row exists
{
if($stmt->fetch()) //fetching the contents of the row
{
$_SESSION['Logged'] = 1;
$_SESSION['user_id'] = $user_id;
$_SESSION['username'] = $username;
$loginCount = $loginCount+1; //increment login counter by 1
//this should be default as 0 when a new user register
//Now save it back to DB using update query
$Updatesql = "UPDATE Table SET loginCount=? WHERE username=?";
$Updatestmt = $con->prepare($Updatesql);
$Updatestmt->bind_param('ds', $loginCount,$username);
$Updatestmt->execute();
if ($Updatestmt->error) {
//Update failed
echo "FAILURE!!! " . $Updatestmt->error;
}
else echo "Updated {$Updatestmt->affected_rows} rows"; //Update succeeded
$Updatestmt->close();
exit();
}
}
else {
echo "INVALID USERNAME/PASSWORD Combination!";
}
$stmt->close();