Убираем поле логин из формы регистрации. 1.X

1668
Из серии мелочь но приятно.

В некоторых случаях лучше оставить возможность пользователям придумать себе логин, в некоторых, это лишнее.
Несколько строк в components/registration/fronted.php

вместо

Код PHP:
  1. // получаем данные
  2. $item['login'] = cmsCore::request('login', 'str', '');


это
Код PHP:
  1.  
  2. // получаем данные
  3. $loginkey1 = rand(1, 9);
  4. $loginkey2= rand(1, 99);
  5. $loginkey3 = date(U);
  6. $loginkey4 = $loginkey1.''.$loginkey3.''.$loginkey2;
  7. $user_login = 'id'.$loginkey4;
  8. $item['login'] = $user_login;
Позволяют за пользователя при регистрации сгенерировать достаточно уникальный логин вида id54646767643

вместо id естественно можно что угодно

user98625277387
z987655678
или как на мамбе
mb736688299988)

для тех, кто не понял: меняется здесь

Код PHP:
  1. $user_login = 'id'.$loginkey4;
Соответственно из /templates/components/registration.tpl можно удалить

Код PHP:
  1. <tr>
  2. <td width="269" valign="top" class="">
  3. <div><strong>{$LANG.LOGIN}:</strong></div>
  4. <div><small>{$LANG.USED_FOR_AUTH}
  5. {$LANG.ONLY_LAT_SYMBOLS}</small></div>
  6. </td>
  7. <td valign="top" class="">
  8. <input name="login" id="logininput" class="text-input" type="text" style="width:300px" value="{$item.login|escape:'html'}" onchange="checkLogin()" autocomplete="off"/>
  9. <span class="regstar">*</span>
  10. <div id="logincheck"></div>
  11. </td>
  12. </tr>

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

Несколько дней погонял на своем новом сайте, побочных эффектов не обнаружил.
Ссылка на профиль пользователя получается типа site.ru/users/id67788993877

Действует для новых пользователей, у старых ничего не меняется.
Мои гости | Удаление админом нехороших аватаров пользователей
Комментарии (8)
Dost 5 января 2017 в 06:37 0
Нужно вообще сделать регистрацию только по email, а пароль приходит на почту при активации. Меня бесят эти кучи полей для заполнения на сайты, на которые заходишь на 1 раз. Если сайтом пользуешься постоянно то и без принуждения потом заполнишь профиль.
На одно поле меньше уже плюс))
Sonat 5 января 2017 в 14:46 0
Dost:
На одно поле меньше уже плюс))
Если только ради уменьшения писанины в полях, не проще ли Логинзу или Юлогин поставить, вместо того чтобы править файлы системы?
Dost 5 января 2017 в 18:50 0
Нет не проще. Проще чем регистрация по email я ничего не встречал))
Нил™ 5 января 2017 в 19:31 0
Ну можно и через логинзу наверно.
Лично меня логинза напрягает тем, что
а) сторонний сервис, и я не знаю, как они поведут себя завтра
б) в случае желания или если придётся отвязываться от логинзы непонятно (мне) как потом пользователи будут попадать в свой профиль.
в) ещё не придумал.
Лично я замутил то что описал выше по той причине, что на новый сайт решил напарсить профилей пользователей с одного сайта знакомств. (Это все в рамках партнерской программы и помимо того, что я первоначально имею какие то лица в списке пользователей на нулёвом сайте, я могу направлятьс профиля на моем сайте направлять на профиль на исходном сайте по реф ссылке). Так вот логин там получить возможности не было, поэтому решил делать такие id, ну и что бы те кто уже регистрируются изначально на моем сайте не отличались от первоначальной базы логинами, сделал такие логины для всех. И смотрится не плохо и пользователям вконтакте на вид "что то что они уже видели".
Ну и да, форма регистрации уменьшена. Кстати кому интересен этот вопрос, можно еще сократить форму регистрации. Например можно убрать повтор пароля. Либо в шаблоне скрыть второе поле через hidden и js делать дублирование из первого поля пароль во второе, либо в компоненте fronted.php убрать проверку на второй пароль. Можно сделать скрытым полем город, если использовать автоопределение города и заполнять его тем, что определилось автоматически.
Всё зависит от сайта и окружения. Где то желательно что бы форма регистрации на вид была как можно проще что бы регистрировались чаще. Где то наоборот не стоит упрощать и оставить некоторые препятствия, что бы сразу отсечь некоторых пользователей, от которых потом все равно не будет толка. По ситуации)
Bubble Gumoff 5 января 2017 в 10:38 0
TS:
Ссылка на профиль пользователя получается типа site.ru/users/id67788993877
Светить id пользователя не всегда хорошо, и первая ветка в плюсе от этого имхо.
Но согласен что никнейм, логин по барабану пользователям обычно, главное быстрее и без геммороя получить доступ.
@amigo 6 января 2017 в 02:35 0
1) Почему не хорошо светить id?)
2) У тс, насколько я понял, пользователю задается случайное число в id, а не последовательное (отобрающий количество зарегистрировашихся пользователей).
Bubble Gumoff 6 января 2017 в 17:01 0
Если так, тогда все гуд !
Александр 6 января 2017 в 17:44 0
где то тут было, что проходишь по ссылки с письма и сразу авторизовываешься на сайте, такое можно сделать или как?
тогда еще упросим регистрацию пользователю)