2010-03-16 111 views
0

您好從Zend Framework開始,並且有一個關於動作助手的問題。我的第一個應用程序是一個簡單的認證系統(遵循書中的教程)。註冊和身份驗證似乎工作正常,但重定向不。在Zend Framework 1.8中使用動作助手

我有一個客戶控制器具有此其中包括:

class CustomerController extends Zend_Controller_Action 
{ 

// some code here...... 

public function authenticateAction() 
{ 
    $request = $this->getRequest(); 
    if (!$request->isPost()) { 
     return $this->_helper->redirector('login'); 
    } 

    // Validate 
    $form = $this->_forms['login']; 
    if (!$form->isValid($request->getPost())) { 
     return $this->render('login'); 
    } 

    if (false === $this->_authService->authenticate($form->getValues())) { 
     $form->setDescription('Login failed, please try again.'); 
     return $this->render('login'); 
    } 

    return $this->_helper->redirector('index'); 
} 

的身份驗證網址是http://localhost/customer/authenticate,這似乎很好地工作,但它不會重定向。認證後,我得到一個空白頁面,看起來像它帶我到索引,只是坐在那裏。我嘗試使用'/ index',但是這也沒有幫助。我是否需要做任何特殊的事情來讓重定向器幫手工作?我有一個註銷行爲,其行爲相同。

回答

0

我發現可能是我的設置有問題。上面的代碼非常完美,適用於另一臺計算機。

0

你應該叫

$this->_helper->redirector('index'); 

沒有回報

+0

沒有,沒有解決它。剛試過。 – jgnasser 2010-03-17 01:24:00

+0

您是否嘗試將重定向器放在方法的頂部,以檢查它是否有效? 您是否打開了錯誤報告? – 2010-03-17 09:27:03

+0

不,不管它在什麼地方都行不通。 – jgnasser 2010-03-17 11:08:18