2013-01-24 35 views
0

我有這種奇怪的困境。我似乎無法從我的登錄頁面重定向。 $this->redirect從其他方法工作正常,但不只是從這一個。我曾嘗試製作一個虛擬方法,我嘗試刪除所有的eof文件空格,甚至試圖清空緩存。這個相同的代碼似乎在本地主機上運行良好,但是一旦我將它複製到服務器上,它就開始在我身上發作。我的控制器代碼是

if ($this->request->is('post')) 
{ 
    $user = $this->User->find('first', array('conditions' => array('username' => $this->request->data['username']))); 
    if($user['User']['passwd'] == AuthComponent::password($this->request->data['password'])) 
    {   
     $this->redirect('http://www.google.com.au/'); 
    } 
    else 
    { 
     echo "Wrong Password";    
    } 
} 

我使用我的自定義登錄身份驗證組件,似乎沒有與我相處。

的AppController:

public $components = array(
    'Session', 
    'Auth' => array(
     'loginRedirect' =>array('controller' => 'dashboards', 'action' => 'index'), 
     'logoutRedirect' => array('controller' => 'users', 'action' => 'login') 
    ) 
); 

查看:

<form name="loginform" id="loginform" method="post" class=""> 
    <p> 
     <label for="username">Username<br /> 
      <input type="text" name="username" id="username" class="input" value="" size="20" /> 
     </label> 
    </p> 
    <p> 
     <label for="password">Password<br /> 
      <input type="password" name="password" id="password" class="input" value="" size="20" /> 
     </label> 
    </p> 
    <p class="submit"> 
     <input type="submit" name="Submit" id="Submit" class="button button-primary button-large" value="Log In" /> 
    </p> 
</form> 

'

回答

0

試試這個

You can set $this->Auth->loginRedirect 

或這在AppControler.php

$this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'index'); 
+0

已經這樣做了 –

+0

看到這部分'如果($用戶[ '用戶'] [ 'passwd文件']'?這是真的'[ 'passwd文件']',而不是'[ '密碼' ]'? –

+0

是的......因爲我在數據庫中使用了passwd ..你認爲它可能導致問題嗎? –

0

試試這個,希望它能起作用。 :-)

'Auth' => array(
      'loginRedirect' => array('controller' => 'posts', 'action' => 'index'), 
     'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),