Обучение/Помощь новичкам | активация аккаунта

А это же ты поклонник сайтов из двух страниц, можешь хоть в мусорном ведре хранить 😂 для тебя нормальны все варианты)

А смысл делать отдельную таблицу?

А это же ты поклонник сайтов из двух страниц, можешь хоть в мусорном ведре хранить 😂 для тебя нормальны все варианты)


Вариант с отдельной таблицей правильный и более зрелый, так как данные активации не связанны на прямую с пользователем. Ну разве что is_active, говорящий о текущей активности юзера
________
посл. ред. 04.04.2025 в 14:35; всего 4 раз(а); by SNEG

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

по идеи я так понял должно быть так, есть таблица users в неё добавляем колонку `is_active` 0|1 , по дефолту ставим 0 т.е нужно чтобы после перехода с почты по ссылке, поменялся статус на 1, активировался пользователь, в отдельной таблице храним id юзера , время жизни кода для ссылки, допустим + 30 дней с момента создания записи и сам код активации , а как время чекать не кроном или истекло допустим 30 дней и 1 минута чтобы уже код удалился с таблицы и нужно было новый запрашивать?
________
посл. ред. 04.04.2025 в 14:54; всего 2 раз(а); by Galtsev.T

#15 прав, не нужен крон, время действия ссылки/кода обычно пару минут, ну максимум минут 10. Проверять актуальность ссылки: время создания записи + 5 минут(условно) > текущее время
DELETE FROM events WHERE event_date < DATE_SUB(NOW(), INTERVAL 30 DAY);

Меня не было полтора года на форуме, нашёл что когда-то ковырял решил поковырять дальше , а ты так за полтора года вообще не развивался я смотрю
Если по простому то можно через одну колонку is_activate, а для URL брать уникальное поле из данных пользователя плюс метку обновление записи этого пользователя (по факту пока аккаунт не активен, она обновляться не будет) и сделать хеш этого и потом считать время жизни ссылки от updated_at, тогда таблица не будет засоряться лишним, а вычисляемое останется вычисляемым(зачем хранить дополнительно?)
Либо если на сайте подразумевается впринципе система с временными кодами тогда ещё проще, так как будет абстрактная таблица которая сможет к любому модулю привязать код или линку и там уже плясать веселее будет так как расширится функционал, но в таблице users достаточно лишь флага активности аккаунта, остальное либо логикой закрывается либо доп таблицами и связями
________
посл. ред. 04.04.2025 в 18:19; всего 1 раз(а); by System
Либо если на сайте подразумевается впринципе система с временными кодами тогда ещё проще, так как будет абстрактная таблица которая сможет к любому модулю привязать код или линку и там уже плясать веселее будет так как расширится функционал, но в таблице users достаточно лишь флага активности аккаунта, остальное либо логикой закрывается либо доп таблицами и связями
________
посл. ред. 04.04.2025 в 18:19; всего 1 раз(а); by System

Если по простому то можно через одну колонку is_activate, а для URL брать уникальное поле из данных пользователя плюс метку обновление записи этого пользователя (по факту пока аккаунт не активен, она обновляться не будет) и сделать хеш этого и потом считать время жизни ссылки от updated_at, тогда таблица не будет засоряться лишним, а вычисляемое останется вычисляемым(зачем хранить дополнительно?)
Либо если на сайте подразумевается впринципе система с временными кодами тогда ещё проще, так как будет абстрактная таблица которая сможет к любому модулю привязать код или линку и там уже плясать веселее будет так как расширится функционал, но в таблице users достаточно лишь флага активности аккаунта, остальное либо логикой закрывается либо доп таблицами и связями
можно же сделать по другому без лишнего кода, типа генерировать во время создания аккаунта код активации и отпралять его на мыло , а в шапке сайта запилить форму полупрозрачную на всю страницу чтобы активировать аккаунт и всё, активировал аккаунт удалился код с бд получил статус active
________
посл. ред. 04.04.2025 в 19:04; всего 7 раз(а); by SNEG
Стр.: 1, 2