Документация для разработчиков

Register

array
CUser::Register(
 string USER_LOGIN,
 string USER_NAME,
 string USER_LAST_NAME,
 string USER_PASSWORD,
 string USER_CONFIRM_PASSWORD,
 string USER_EMAIL,
 string site_id = false,
 string captcha_word = "",
 string captcha_sid = 0
)

Регистрирует нового пользователя, авторизует его и отсылает письмо по шаблону типа NEW_USER. Возвращает массив с сообщением о результате выполнения (массив может быть обработан функцией ShowMessage). Нестатический метод.

Важно! Метод может использоваться только в публичной части сайта!

Параметры

ПараметрОписание С версии
USER_LOGIN Логин нового пользователя (не менее 3-х символов).
USER_NAME Имя нового пользователя (может быть пустым).
USER_LAST_NAME Фамилия нового пользователя (может быть пустым).
USER_PASSWORD Пароль (не менее 3-х символов).
USER_CONFIRM_PASSWORD Подтверждение пароля (для успешной регистрации должен совпадать с password).
USER_EMAIL E-Mail нового пользователя (не менее 3-х символов). E-Mail будет проверен функцией check_email.
site_id ID сайта почтового шаблона для отсылки уведомлений (NEW_USER, USER_INFO и др.).
Необязательный. По умолчанию - "false", что означает текущий сайт.
3.3.21
captcha_word Слово для CAPTCHA. Добавляется если в настройках главного модуля выставлен флаг "Использовать CAPTCHA при регистрации". Если не заполнено вернет: "Слово для защиты от автоматической регистрации введено неверно".4.1.4
captcha_sid ID CAPTCHA. Добавляется если в настройках главного модуля выставлен флаг "Использовать CAPTCHA при регистрации". Если не заполнено вернет: "Слово для защиты от автоматической регистрации введено неверно".4.1.4

См. также

Примеры использования

<?
global $USER;
$arResult = $USER->Register("admin", "", "", "123456", "123456", "admin@mysite.ru");
ShowMessage($arResult); // выводим результат в виде сообщения
echo $USER->GetID(); // ID нового пользователя
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Алексей Попович
Если в системе имеются обязательные для заполнения пользовательские поля с привязкой к объекту USER, то данный метод вернет ошибку регистрации, т.к. обязательное поле не будет заполнено.
Для того, чтобы заполнить данное обязательное поле, нужно воспользоваться обработчиком "OnBeforeUserRegister".

примерно с такой функцией обработчика:

Код
function OnBeforeRegisterHandler(&$arFields){
// проверка условий
    $arFields['имя поля'] = значение;
}
0
Антон Долганин
Ой-ой последний коммент  :)  так нельзя делать! Ведь если произойдет сбой на времени выполнения вашего кода, настройка так и останется. Да и вообще так нельзя - менять глобальное для частного. Вот такой подход рекомендую: http://dev.1c-bitrix.ru/community/webdev/user/11948/blog/7799/
2
zubazenovka
Цитата
Александр Миронов пишет:
Да и пример выше работает только в случае если в настройках главного модуля не выставлен флаг "Подтверждать регистрацию". Если же он выставлен, то пользователь регистрируется неактивным, следовательно логина не происходит и переменная $USER не привязана к только что зарегистрированному пользователю.
можно как и с капчей на время регистрации отключить подтверждение

Код
COption::SetOptionString("main","new_user_registration_email_confirmation","N");
а затем обратно включить

Код
COption::SetOptionString("main","new_user_registration_email_confirmation","Y");
0
denis_orlov
 флаг "Использовать CAPTCHA при регистрации" можно отключить

Код
COption::SetOptionString("main","captcha_registration","N");


а затем включить обратно

Код
COption::SetOptionString("main","captcha_registration","Y");
0
sadoner
а генерировать CAPTCHA надо исходя из этого кода
Код
$GLOBALS["APPLICATION"]->CaptchaCheckCode($captcha_word, $captcha_sid)


http://dev.1c-bitrix.ru/api_help/main/reference/cmain/captchacheckcode.php
2
Александр Миронов
Да и пример выше работает только в случае если в настройках главного модуля не выставлен флаг "Подтверждать регистрацию". Если же он выставлен, то пользователь регистрируется неактивным, следовательно логина не происходит и переменная $USER не привязана к только что зарегистрированному пользователю.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх