Блог старого компьютера

Блог старого компьютера


Главная Joomla Регистрация по инвайтам Joomla (теория)

Регистрация по инвайтам Joomla (теория)

21.08.2012 04:22 Администратор Joomla
Печать PDF

Данная статья является продолжением статьи "Добавить поле в форму регистрации Joomla". Продолжаю развивать тему по просьбе трудящихся. По причине большой занятости  опишу основные приемы в теории, для того чтоб знать в каком направлении двигаться.

 И так как представленной выше статье нам необходимо добавить ячейку в базу данных и добавить форму ввода. Делаем все как написано в статье выше.

С чем сверять инвайт

В данном случае введеный пользователем инвайт не будем писать в созданную в базе ячейку. Введенный инвайт будем проверять на наличие в базе данных, и если он есть то разрешаем регистрацию если нет то выводим ошибку.

Генерируем инвайт при регистрации пользователя

При регистрации пользователя будем генерировать его личный код приглашения, на случай если он захочет кого то пригласить. Этот код будем писать в ту самую ячейку в базе данных. Генерировать код приглашения можно разными способами, мы же будем использовать простой способ:

$rnd = rand(500, 50000);
$rnd2 = rand(0, 1000);
$invite_code =$rnd.$username.$rnd2.time();

 В итоге у нас получится инвайт следующего типа: 25055revert8391345524071

Данный инвайт будет состоять из комбинации 2 случайных чисел, timestamp, и имя пользователя. Не думаю что такой код приглашения с легкостью кто то подберет. Значение переменной  $invite_code пишем в ячеку базы данных.

Показываем пользователю его инвайт

В профиле пользователя создаем дополнительную строку и в нее выводим его код приглашения из базы данных, который он сможет раздавть другим.

Недостатки

Недостатками приведенного выше метода  является то что пользователь может разместить свой инфайт на форуме и по нему сможет зарегистрироваться целая орда.

Решение недостатков

Самым простым решением недостатков будет обнуление его инвайта. То есть во время регистрации по инвайту в случае успешной регистрации пользователя делаем запрос в базу который полностью стираем значение ячейки. В следствии чего регистрация по данному инвайту будет невозможна. Так же если мы будем затирать значение ячейки то нужно обязательно запретить оставлять пустым поле с инвайтом. Вторым решение будет вариант создания еще одной ячейки в базе с возможным числом регистрации. Например там чтоит цифра 5, и при каждой регистрации из этого числа вычитается одно. Ну, а когда значение ячейки будет равным нолю регистрацию запрещаем.

Продолжение следует...

Комментарии  

 
0 #1 Андрей 09.10.2012 19:57
Спасибо.
Очень поросто о простых вещах. Однако поломать мозги без такого туториала пришлось бы
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Поиск

Голосование

Что Вы думаете на счет битрикса?
 

Все материалы раздела