хотел бы узнать, как я могу рассчитать время между двумя датами. Я работаю над функциональностью пользователя Разблокировать и следующее, что я:PHP - Рассчитать время между датами
даты// get offender's username from session
$username = $_SESSION['UserName'];
require_once('./connections/mysql.php');
$checklockoutexpiration = mysqli_query($conn,"SELECT IsLockedOut, LastLockoutDate FROM users WHERE UserName = '$username' Limit 1") or die($dataaccess_error);
if(mysqli_num_rows($checklockoutexpiration) == 1)
{
$row = mysqli_fetch_array($checklockoutexpiration);
$islockedout = $row['IsLockedOut'];
$lastlockoutdate = $row['LastLockoutDate'];
}
if(**$islockedout == 1 && $lastlockoutdate + LOCKOUT_DURATION_IN_MINUTES < getdate()**)
{
// unlock user
}
Локаута находится в базе данных в виде NOW() и выглядит как 2010-10-13 13:01:05 , Я предполагаю, что это время сервера, которое на данный момент является моей локальной машиной разработки.
ВОПРОС: Как я могу сделать жирный шрифт в коде.
В asp.net я хотел бы сделать что-то вроде:
// if lockout datetime + lockout duration is less than datetime now
if (usrInfo != null && usrInfo.IsLockedOut && usrInfo.LastLockoutDate.ToUniversalTime().AddMinutes(passwordAttemptLockoutDuration) < DateTime.UtcNow)
{
// then automatically Unlock user
usrInfo.UnlockUser();
}
Может кто-то пожалуйста, покажите мне, как это делается? Спасибо!
Мое редактирование отменило выделение жирным шрифтом - это четвертое последнее в 1-м абзаце –
Также вы слышали о атаках SQL Injection? Используйте http://php.net/manual/en/function.mysql-real-escape-string.php – James
Действительно, $ username нуждается в дезинфекции. Конечно, он, возможно, уже дезинфицировал $ username в другом месте (это из переменной $ _SESSION afterall, поэтому ее «возможно доверяют»). Я дам ему преимущество от сомнений ... но это достаточно важно, чтобы упомянуть об этом. – Dragontamer5788