我目前正在学习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;
});