2012-10-18 117 views
1

我正在使用cakephp 2.1,我在UsersController中使用登錄操作,如下所示。用戶登錄空錯誤

public function login() { 
    if ($this->request->is('post')) { 
     if ($this->Auth->login()) { 
      $this->redirect($this->Auth->redirect()); 
     } else { 
      $this->Session->setFlash('Invalid email or password, try again', 'default/flash_error'); 
     } 
    } 
} 

而login.ctp代碼如下。

<?php echo $this->Form->create('User', array('class' => 'form')); ?> 

      <div class="control-group"> 
       <label class="control-label" for="inputEmail">Email</label> 
       <div class="controls"> 
        <?php echo $this -> Form -> text('email', array('id' => 'inputEmail', 'placeholder' => 'Email')); ?> 
        <?php echo $this -> Form -> error('email', null, array('wrap' => 'span', 'class' => 'help-block')); ?> 
       </div> 
      </div> 
      <div class="control-group"> 
       <label class="control-label" for="inputPassword">Password</label> 
       <div class="controls"> 
        <?php echo $this -> Form -> password('password', array('id' => 'inputPassword', 'placeholder' => 'Password')); ?> 
        <?php echo $this -> Form -> error('password', null, array('wrap' => 'span', 'class' => 'help-block')); ?> 
       </div> 
      </div> 
      <div class="control-group"> 
       <div class="controls"> 
        <label class="checkbox"> 
         <input type="checkbox"/> 
         Remember me </label> 
        <?php echo $this->Form->button('Sign in', array('type' => 'submit', 'class' => 'btn')); ?> 
       </div> 
      </div> 
      <?php echo $this->Form->end(); ?> 

當窗體獲得電子郵件和密碼提交,用戶無法登錄所以它的顯示錯誤「無效的電子郵件或密碼,請重試」。即使我將$ this-> request-> data ['User']傳遞給$ this-> Auth-> login()方法並調試$ this-> Session-> read(Auth.User.id)。它給我空。請給我一個解決方案。

回答