Стояла задача сделать регистрацию пользователя после заполнения формы и определить его в группу пользователей.
Форму я создал с помощью модуля веб формы создал в нем 5 полей
Далее вывел форму на странице и назначил страницу подтверждения отправки сообщения от пользователя назвал ее obrab.php .
На этой странице я вывел такой код obrab.php .
/* We receive id forms */ $resultid = $_REQUEST["RESULT_ID"]; if($resultid): /* We connect the module of forms and results of answers */ CModule::IncludeModule("form"); $arAnswer = CFormResult::GetDataByID($resultid, array("SIMPLE_QUESTION_718", "SIMPLE_QUESTION_372", "SIMPLE_QUESTION_926") ); $usermail = $arAnswer['SIMPLE_QUESTION_718']['0']['USER_TEXT']; $username = $arAnswer['SIMPLE_QUESTION_372']['0']['USER_TEXT']; $userphone = $arAnswer['SIMPLE_QUESTION_926']['0']['USER_TEXT']; /* We make a file for creation of the new user and we create it */ $user = new CUser; $arFields = Array( "NAME" => $username, "EMAIL" => $usermail, "LOGIN" => $usermail, "LID" => "ru", "ACTIVE" => "Y", "GROUP_ID" => array(7), "PASSWORD" => "123456", "CONFIRM_PASSWORD" => "123456", "PERSONAL_PHONE" => $userphone ); $user->Add($arFields); endif;
Судя из кода видно что :
1)вначале я словил переменую с результатами формы $resultid = $_REQUEST["RESULT_ID"];
2)Далее я подключил модуль классы для работы с формами , сделал выборку необходимых мне полей "SIMPLE_QUESTION_718", "SIMPLE_QUESTION_372", "SIMPLE_QUESTION_926" с помощью CFormResult::GetDataByID
3) Далее я создал массив для нового пользователя и с помощью CUser::Add создал его в базе . Параметр "GROUP_ID" отвечает за определение пользователя в какую либо группу, его логином будет его почта.
Собственно все, благодаря таким не сложным махинациям мы сделали регистрацию пользователя после заполнения им формы .
Опубликовано: 6 августа 2011
|
|