验证在cakephp2.x中不起作用

时间:2015-07-14 11:50:50

标签: cakephp cakephp-2.0

我是cakephp的新人。我在ctp中编写了一个验证cakephp 2.6.7文件,用于查看登录和注销字词,但验证无效。

我的代码是: -

 <?php
    if (!$authUser) {

        echo $this->element('logout-header');
    } else {
        echo $this->element('login-header');
    }
    ?>

如何在ctp文件中编写验证,以便在我的页眉中查看登录和注销字词?

3 个答案:

答案 0 :(得分:0)

在AppController的beforeRender()回调中,通过检索登录用户设置authUser视图变量: -

public function beforeRender() {
    parent::beforeRender();
    $this->set('authUser', $this->Auth->user());
}

然后问题中的视图代码应该按预期工作。

答案 1 :(得分:0)

为什么你写了一个验证ctp?将验证规则放在模型中

http://book.cakephp.org/2.0/en/models/data-validation.html

答案 2 :(得分:-1)

我有一个解决方案,我在cakephp工作时经常使用。

AppController.php中的

class AppController extends Controller{

     public function beforeFilter() {
          parent::beforeFilter();
          $userInfo = array();
          if($this->Auth->user('_id')){
               $userInfo['User'] = $this->Auth->user();
               Configure::write($userInfo);
          }
     }
}

此后查看.ctp文件

<?php
   $authUser = Configure::read('User');
   if (!$authUser) {
       echo $this->element('logout-header');
   } else {
       echo $this->element('login-header');
   }
?>