Блог Николая Семенцова

Партнер компании 1с-битрикс

Веб-формы регистрация пользователя после заполнения с записью в группу

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

Форму я создал с помощью модуля веб формы создал в нем 5 полей

fireshot_capture_320_-_kdcmos_-_redaktirovanie_vypuska_18_-_kdc_ae-studio_ru_bitrix_admin_posting_edit_php_id18langru_0.jpg

Далее вывел форму на странице и назначил страницу подтверждения отправки сообщения от пользователя назвал ее obrab.php .

web-from-stran_1_0.jpg

На этой странице я  вывел такой код 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




Помогла заметка? Жмите кнопки ниже


ВКонтакт Facebook Google Plus Одноклассники Twitter Livejournal Liveinternet Mail.Ru





comments powered by Disqus