phalcon Direct Flash消息在视图中未正确加载



我目前正在学习phalcon:虽然仍然是一个粗略的初学者。我想为我的Web应用程序创建一个注册部分。目前我有:

名为Authcontroller的控制器 使用操作:索引[登录逻辑],注册[注册逻辑] 登录viewViews/auth/index.phtml。 注册视图作为视图/auth/register.phtml,并带有表单发布到auth/register

也将Twitter引导程序用于前端。

我目前正在尝试验证密码。如果不相等,请显示闪存消息。

注册操作的代码:

if($this -> request -> isPost())
        {
            $name = $this -> request -> getPost('fullname');
            $username = $this -> request -> getPost('email');
            $password = $this -> request -> getPost('password');
            $vpassword = $this -> request -> getPost('cpassword');
            if($password != $vpassword)
            {
                $this -> flash -> error("The passwords doesn't match!!!");
                //return $this -> view -> pick('register'); //Show page/ no error msg
                /*return $this->dispatcher->forward(        //show error/ no page / cyclic routing
                    [
                        'controller'    => 'auth',
                        'action'        => 'register'
                    ]
                );*/
                // Make a full HTTP redirection
                //return $this->response->redirect('auth/register');
            }

目前,如果我使用:

return $this -> view -> pick('register');

我将视图返回,但是没有闪存错误消息

以及如果我使用;

return $this->dispatcher->forward(
                    [
                        'controller'    => 'auth',
                        'action'        => 'register'
                    ]
                );

我获得多次显示错误消息,没有视图。我认为循环路由正在发生,但是ISPOST((检查是否应该防止这种情况?如果是帖子,则密码字段中的值将相同。

Any ideas?

在将闪光灯设置在注射器中之前,您的会话设置了?初始化会话和闪光灯:

/**
* Start the session
*/
$di->set('session', function() {
    $session = new PhalconSessionAdapterFiles();
    $session->start();
    return $session;
}, true);
/**
* Register the flash service with custom CSS classes
*/
$di->set('flash', function() {
    $flash = new PhalconFlashSession([
        'error' => 'alert alert-danger',
        'success' => 'alert alert-success',
        'notice' => 'alert alert-info',
    ]);
    return $flash;
});

最新更新