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

Update

Описание и параметры

bool
CUser::Update(
	int id,
	array fields,
	string authActions = true
)

Метод изменяет параметры пользователя с идентификатором id. Возвращает "true", если изменение прошло успешно, при возникновении ошибки метод вернет "false", а в свойстве LAST_ERROR объекта будет содержаться текст ошибки. Если пользователя с указанным id не существует, то ошибки не возникает. Нестатический метод.

Параметры

ПараметрОписаниеС версии
id ID пользователя.
fields Массив значений полей вида array("поле"=>"значение" [, ...]). В качестве полей могут быть использованы все поля CUser, а также GROUP_ID - массив с ID групп пользователей, в которые входит этот пользователь.

Для обновления аватара пользователя (поле PERSONAL_PHOTO) необходимо передавать полный путь к новой загружаемой фотографии на сервере, а не ID загруженного файла.

authActions Авторизовать ли пользователя после обновления данных. По умолчанию - true - не авторизовывать.

Смотрите также

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

<?
$user = new CUser;
$fields = Array(
	"NAME"              => "Сергей",
	"LAST_NAME"         => "Иванов",
	"EMAIL"             => "ivanov@microsoft.com",
	"LOGIN"             => "ivan",
	"LID"               => "ru",
	"ACTIVE"            => "Y",
	"GROUP_ID"          => array(1,2),
	"PASSWORD"          => "123456",
	"CONFIRM_PASSWORD"  => "123456",
);
$user->Update($ID, $fields);
$strError .= $user->LAST_ERROR;
?>

Для обновления пользовательского поля, вида "список" (где 11,12,13 - это ID значений списка.):

$user = new CUser;
$fields = Array( 
	"UF_SHOP" => array(11,12,13), 
); 
$user->Update($ID, $fields);


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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
7
chsergey
при обновлении пользовательского поля UF_DEPARTMENT использующегося для привязки пользователя к подразделениюнеобходимо чтобы значение поля, передаваемое в функцию CUser::Update было array


Код
            $oUser = new CUser;

            $aFields = array(
                'UF_DEPARTMENT' => array($DEPARTMENT_ID) // <- обязательно array
            );

            $oUser->Update($iUserID, $aFields); //$iUserID (int) ID of USER
 
5
Black-Sun
При обновлении файла, удовлетворяющего требованиям по размеру файла и типу, упорно вылезала ошибка "Неверный тип файла, либо превышен максимальный размер файла!<br>" . Решили слудеющим образом:[COLOR=#191919]
Код
if (!empty($_FILES['Filedata']['tmp_name'&#93) {
                        move_uploaded_file($_FILES["Filedata"]["tmp_name"], $_SERVER['DOCUMENT_ROOT'] . '/upload/tmp/'. $_FILES["Filedata"]["name"]
                        $arFile = CFile::MakeFileArray($_SERVER['DOCUMENT_ROOT'] . '/upload/tmp/'. $_FILES["Filedata"]["name"]
         $arFile['del'] = "Y";           
         $arFile['old_file'] = $UI['PERSONAL_PHOTO']; 
                        $arFile["MODULE_ID"] = "main";
         $fields['PERSONAL_PHOTO'] = $arFile;
      }   

                           
[/COLOR]
10
Дмитрий Яковенко
Если при обновлении данных, вы хотите заменить фотографию пользователя или другую фотку, то в значение (например, PERSONAL_PHOTO) нужно передать массив, описывающий файл и еще два параметра с ключами
Код
    $arFile = CFile::MakeFileArray($value['foto']);
    $arFile['del'] = "Y";           
    $arFile['old_file'] = ИДЕНТИФИКАТОР_ФАЙЛА_КОТОРЫЙ_БУДЕТ_УДАЛЕН; 
13
Григорий Федоринов
Значения пользовательских полей пользователя передаются так же, как и "обычных" полей, например:
"UF_TEXT_1"=>"xxx"
© «Битрикс», 2001-2025, «1С-Битрикс», 2025
Наверх