@funtik52

Как правильно реализовать вставку записи через форму?

При попытке вставить запись на основе данных введённых форму появляется вот такая ошибка:
06d40abae88841adbb79e734ddf19e29.png

Вот созданный мною метод для обработки запроса:
public function actionCreateUser()
	{
		$this->PageTitle = "Регистрация";
		$user = new User();
		if(isset($_POST['User'])) 
		{
			$user->attributes = $_POST['User'];
			if($user->save())
				$this->redirect(array('user/index'));
		}
		$this->render('CreateUser', array('user' => $user,));
	}


А вот шаблон в который вводятся данные:
<div class="form">
<?php echo CHtml::beginForm(array("SiteController/CreateUser", "POST")) ?>
	<div class="row"><?php
				echo CHtml::activeLabelEx($user, "name");
				echo CHtml::activeTextField($user, "name");
				echo CHtml::error($user,"name");
					?></div>
	<div class="row"><?php 
				echo CHtml::activeLabelEx($user, "password");
				echo CHtml::activeTextField($user, "password");
				echo CHtml::error($user,"password");
					?></div>
	<div class="row"><?php
				echo CHtml::activeLabelEx($user, "role");
				echo CHtml::activeTextField($user, "role");
				echo CHtml::error($user,"role");
					?></div>
	<?php echo CHtml::submitButton("Зарегистрироваться"); ?>
<?php echo CHtml::endForm() ?>
</div>


Изучаю веб по книге. Просмотрев все темы пришёл к логическому тупику. Форма вроде бы отлично работает - да же значение по умолчанию для поля "role" предоставляет. А вот после нажатия на кнопку "Зарегистрироваться" происходит ошибка.
  • Вопрос задан
  • 156 просмотров
Решения вопроса 2
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
Полагаю, что стоит заменить SiteController/CreateUser на site/create-user

У вас же появляется 404 ошибка — страница не найдена.

У вас адрес страницы и адрес, куда отправляется форма совпадают?
Ответ написан
@lxShaDoWxl
Ошибка в формирование ссылки на экшен котроллера
<?php echo CHtml::beginForm(array("SiteController/CreateUser", "POST")) ?>

должно быть
<?php echo CHtml::beginForm(array("site/create-user", "POST")) ?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы