public function actionRegister() { $session = Yii::app()->session; $step = $session->get('registerStep', 1); $userStep = $this->iGet('step', 1); if (!Yii::app()->user->isGuest && $step !== 3) { $this->redirect(Yii::app()->homeUrl); } if ($userStep < $step) { $step = min($userStep, 1); Yii::app()->session->remove(RegisterForm::REGISTER_WCAID); } $model = new RegisterForm('step' . $step); $model->step = $step; $model->loadData(); // collect user input data if (isset($_POST['RegisterForm'])) { $model->attributes = $_POST['RegisterForm']; // validate user input and redirect to the previous page if valid if ($model->validate()) { $session->add('registerStep', ++$step); if ($model->isLastStep()) { if (!$model->register()) { throw new CHttpException(500, Yii::t('common', 'Something goes wrong')); } } $this->redirect(array('/site/register', 'step' => $step)); } if (ctype_digit($model->birthday)) { $model->birthday = date($model::$dateFormat, $model->birthday); } } $this->pageTitle = array('Register'); $model->verifyCode = ''; $this->title = 'Register'; $this->render('register' . $step, array('model' => $model, 'step' => $step)); }