PDA

Просмотр полной версии : Почему не сравнивает дату и не отклоняет процесс?


underpl1g
06.05.2021, 00:21
В базе есть дата окончания действия ключа(timestamp), $pass - передается POST запросом из формы, и есть проверка на дату:

PHP:






$result
=
$mysql
-
>
query
(
"SELECT * FROM `users` WHERE `pass` = '$pass' "
)
;
if
(
mysqli_num_rows
(
$result
)
>
0
)
{
$user
=
mysqli_fetch_assoc
(
$result
)
;
$_SESSION
[
'user'
]
=
[
"pass"
=
>
$user
[
'pass'
]
]
;
header
(
"Location: ../main.php"
)
;
}
else
{
$_SESSION
[
'message'
]
=
'Неверный ключ авторизации!'
;
header
(
"Location: ../login/login.php"
)
;
}
if
(
$result
[
'end'
]
>
time
(
)
)
{
// ПРОВЕРКА
header
(
"Location: ../main.php"
)
;
}
else
{
$_SESSION
[
'message'
]
=
'Срок действия ключа истек!'
;
header
(
"Location: ../login/login.php"
)
;
unset
(
$_SESSION
[
'user'
]
)
;
}




Скриншот с базы:




https://i.imgur.com/fcsGv27.png




Ввожу ключ, который был действителен до 2021-05-05 00:08:00 , мне все ровно дает войти на сайт, почему не работает проверка?

Кто поможет - отблагодарю))

mrdiimax
18.05.2021, 23:44
Ты сравниваешь цельную дату(можно сказать строку) с таймстампом, который выдает time()

Лучше измени значение даты в базе, а потом переводи в стамп, либо же стамп к дате. Пока у тебя так - сравнения быть не может