落叶 2011-04-14 20:57:05 5984次浏览 10条回复 1 0 0

在YII论坛上看到的: 当用户提交一个没有任何问题的表单之后,我们应该给予正确的提示,例如我们使用一个欢迎页面用于用户注册成功之后, 实现这种方法用很多种,在这里我们使用flash messages

public function actionRegister()
{
    // display the success page if the register form was previously
    // submitted successfully
    if (Yii::app()->user->hasFlash('register.success'))
    {
        $this->render('registerSuccess', Yii::app()->user->getFlash('register.success'));
        return;
    }
 
    $model = new User('register');
    if (isset($_POST['User']))
    {
        $model->attributes = $_POST['User'];
        if ($model->save())
        {
            Yii::app()->user->setFlash('register.success', array(
                'username' => $model->username,
                'email' => $model->email,
            ));
            $this->refresh();
        }
    }
    $this->render('register', array('model'=>$model));
}

我们来解释一下这段代码: 在regesit动作中,我们首先检测有没有叫 register.success 的flash messages,如果有 ,则说明表单正确提交,我们要显示我们的欢迎页面,我们用registerSuccess的视图来渲染register.success 的flash messages, register.success 是一个数组类型,所以我们在视图文件中可以使用$username,和$email。 引用地址 http://www.yiiframework.com/wiki/172/an-easy-way-to-display-a-success-page-using-flash-messages/

您需要登录后才可以回复。登录 | 立即注册