HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.05.2021, 00:21
underpl1g
Познающий
Регистрация: 08.09.2020
Сообщений: 83
С нами: 2989121

Репутация: 13
По умолчанию

В базе есть дата окончания действия ключа(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'
]
)
;
}


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

Цитата:
Сообщение от Спойлер  




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

Кто поможет - отблагодарю))
 
Ответить с цитированием

  #2  
Старый 18.05.2021, 23:44
mrdiimax
Постоянный
Регистрация: 24.01.2016
Сообщений: 566
С нами: 5421300

Репутация: 83


По умолчанию

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

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



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.