2013-08-05 184 views
0

這是我的服務器localhost/cakephp中/查看/登錄/ index.ctpcakephp登錄無法正常工作。

<div class="wrapper"> 
     <form class="form1" action="posts"> 
     <div class="formtitle">Login to your account</div> 
     <div class="input"> 
      <div class="inputtext">Username: </div> 
      <div class="inputcontent"> 
       <input type="text" /> 
      </div> 
     </div> 
     <div class="input nobottomborder"> 
      <div class="inputtext">Password: </div> 
      <div class="inputcontent"> 
       <input type="password" /> 
       <br/><a href="#">Forgot password?</a> 
      </div> 
     </div> 
     <div class="buttons"> 
      <input class="greybutton" type="submit" value="Cancel" /> 
      <input class="orangebutton" type="submit" value="Login" /> 
     </div> 
     </form> 
     </div> 

CTP文件位置的用戶控制器

class LoginController extends AppController { 

var $helpers = array('Html', 'Form'); 

public function index() { 

} 
function login() { 
    // if the form was submitted 
    if(!empty($this->data)) { 
     // find the user in the database 
     $dbuser = $this->User->findByUsername($this->data['User']['username']); 
     // if found and passwords match 
     if(!empty($dbuser) && ($dbuser['User']['password'] == md5($this->data['User']['password']))) { 
      // write the username to a session 
      $this->Session->write('User', $dbuser); 
      // save the login time 
      $dbuser['User']['last_login'] = date("Y-m-d H:i:s"); 
      $this->User->save($dbuser); 
      // redirect the user 
      $this->Session->setFlash('You have successfully logged in.'); 
      $this->redirect('/posts/'); 
     } else { 
      $this->set('error', 'Either your username or password is incorrect.'); 
     } 
    } 
} 

function logout() { 
    // delete the user session 
    $this->Session->delete('User'); 
    // redirect to posts index page 
    $this->Session->setFlash('You have successfully logged out.'); 
    $this->redirect('/posts/'); 
} 

} 

我不使用默認的主題,但在自定義主題的位置視圖/主題/默認。它正在工作。 現在我無法登錄auth,請讓我解決它。

回答

1

首先:你爲什麼不在你的視圖中使用Form Helper?這將自動插入正確的值,如果你正確配置它們。

第二:您的表單指向'帖子',而您想指向'用戶/登錄'。

最後:您的輸入字段沒有指定任何名稱。這樣,如果表單指向正確的控制器,控制器永遠不會知道該如何處理它。

我建議你閱讀書籍教程'簡單授權'。 http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

P.S.您沒有指定CakePHP版本。我假裝它是2.X ...