![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| fakeman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 137 Регистрация: 5.5.2009 Репутация: нет Всего: нет |
Решил сделать активацию пользователя но не догоняю как это можно реализовать. Может кто подскажет как это можно сделать ? Код самой регистрации таков.
|
|||
|
||||
| Shark |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 18.6.2006 Где: Москва Репутация: 4 Всего: 4 |
создаешь в таблице столбец activateый по умолчанию равен 0... далее... после того, как заполненные поля в форме обратобались пользователю на мыло отошли сслыку для подтверждения регистрации, функция mail(), после того как пользователь пройдет по указанной сслыке обнови столбец activate на 1 и все
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Неее.... Лучше создай таблицу active
id_user | hash В первую колонку id юзера, во вторую хеш код, который отправил по мылу... Потом в скрипте проверяй активирован ли пользователь... |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
А имхо, было бы еще лучше так: Сперва данные летят в промежуточную таблицу со всеми полями, какие должны быть в главной , потом переход по ссылке с мыла, и по этой самой ссылке пусть пользователь добавляется в основную таблицу из промежуточной. А в промежуточной удалить эту строку. Минусы- больше полей в промежуточной таблице. Перекидка данных из одной таблицы в другую. Плюсы- Если грамотно чистить таблички, то никакого мозголомства с полями в главной таблице по типу "activated" и дополнительных условий не нужно. Добавлено @ 09:48
Ребят, это же неудобно ^_^ Это сообщение отредактировал(а) SoWa - 6.5.2009, 09:49 -------------------- Всем добра |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Зависит от степени извращенности ума Мне нормально, я желаю все контроллировать... |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
ИМХО лучше 1 раз под контролем занести данные в таблицу, и потом не писать дополнительные условия.
Я из Алгоритмов сюда пришел, у меня ум ух как извращен Ладно, давай посмотрим, что автор скажет -------------------- Всем добра |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
Тогда нужно проверять эту самую таблицу, либо предупреждать пользователя о куче условий, из-за которых он не может войти, либо авторизировать по промежуточной таблице, с идентификатором "не активен" Добавлено через 24 секунды Извращенец |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Ну да, она-то как раз и желательна для обычных людей именно со столбцом "activated"(потому что мало кто делает поиск в таблице как я А вот если пользователя, который еще не активировался- пускать нельзя, то тут имхо мой вариант приемлем. Поискать юзеря в основной таблице, не найти, и сказать ему, что "ты, дорогой мой, либо не зареган, либо не активирован(на это тоже можно условие)". Хотя это все может быть недружелюбным для клиента. Философский вопрос -------------------- Всем добра |
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
SoWa, это действительно философский вопрос... "Посмотрим, что ответит автор" (С) SoWa
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
fakeman, почти как у SneG0K, только поле activated переименовать в right. права у юзера будут - none=0, user=1, admin=2 и т.д., в меру извращенности. После активации это поле вполне может и пригодится в обычной жизни ;-)
Правда для активации нужно куда-то запихать еще и дату авторизации, чтобы элегантно почистить всех недозарегистрировавшихся юзеров через пару дней. В принципе, эту дату тоже можно приспособить в основную таблицу, с "основным" смыслом - "дата последней активности юзера". Но тут уже на любителя, иногда удобнее и в отдельную таблицу влепить. Еще куда-то нужно влепить некий хеш, по которому будем идентифицировать "пришельцев" из почтовых сообщений об активизации. Потенциально, это поле тоже можно использовать в жизни зарегистрированных юзеров, для поддержки, к примеру, какого-нибудь почтового-же интерфейса общения с юзерами - рассылка новостей, там или еще чего. более конкретное mho - добавить поле right в основную таблицу, добавить таблицу `users_online` с полями {user, hash, date} в базу и работать с комбинацией этих таблиц... В качестве hash'а можно использовать какую-то простую функцию от Session_Id. Ждем автора -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |