yii 2 регистрация пользователя

158
10 июля 2019, 14:20

Пытаюсь расширить форму регистрации, добавить к стандартным полям новые, например телефон.

форма

<?= $form->field($model, 'username', [
        'inputOptions' => ['placeholder' => 'Название'],
        'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-link text-muted"></i></div></div>'
    ]) -> label(false);
    ?>
    <?= $form->field($model, 'email', [
        'inputOptions' => ['placeholder' => 'email'],
        'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-mention text-muted"></i></div></div>'
    ]) -> label(false);
    ?>
    <?= $form->field($model, 'telephone', [
        'inputOptions' => ['placeholder' => 'телефон'],
        'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-iphone text-muted"></i></div></div>'
    ]) -> label(false);
    ?>
    <?= $form->field($model, 'password', [
        'inputOptions' => ['placeholder' => 'пароль'],
        'inputTemplate' => '<div class="form-group form-group-feedback form-group-feedback-left">{input}<div class="form-control-feedback"> <i class="icon-user-lock text-muted"></i></div></div>'
    ]) -> label(false)->passwordInput();
    ?>

после нажатия на кнопку данные попадают в контролер

$user = $model->signup()

с контролера в модель

public $username;
public $email;
public $password;
public  $telephone;
public function signup()
{
    if (!$this->validate()) {
        return null;
    }
    $user = new User();
    $user->username = $this->username;
    $user->telephone = $this->telephone;
    $user->email = $this->email;
    $user->setPassword($this->password);
    $user->generateAuthKey();
    return $user->save() ? $user : null;
}

а тут получается $user->telephone = $this->telephone; NULL если в посмотреть то print_r($_POST); все есть, может что то не сделал или не не дописал

Answer 1

Проверял его в rules? Так как по умолчанию все атрибуты не перечисленные в rules у модели являются unsafe, т.е. не безопасными и в случае не очевидного присваивания (через load или setAttributes) будут проигнорированы.

READ ALSO
Как оптимизировать данный кусок кода?

Как оптимизировать данный кусок кода?

yii2, рендерю view записи, также нужно добавлять кнопки "вперед" и "назад", для навигации по записям

155
Чем смотреть логи error.log? [закрыт]

Чем смотреть логи error.log? [закрыт]

При распаковке одного архива из десятка domainru

165
чпу для ссылки с якорем

чпу для ссылки с якорем

Настраиваю чпу для сайта первый раз и столкнулся с ситуацией - есть у меня якорь на главной странице и я хочу что бы нажимая на кнопку ГЛАВНАЯ(в...

157
Проблема с загрузкой пакета на Packagist

Проблема с загрузкой пакета на Packagist

Создал пустой репозиторий на GitHubСделал push проекта

126