2012-07-11 97 views
1

我正在開發一個小應用程序。使用PHP和Zend框架。我有一個表單,我使用它的控制器來查看錶單。現在我需要操作表單數據並相應地重定向用戶。 這裏是我的控制器在同一個控制器中調用不同的動作

<?php 

class NewuserController extends Zend_Controller_Action { 

public function init() 
{ 
    /* Initialize action controller here */ 
} 

public function newuserAction() 
{ 
    $this->view->newuser; 
} 

public function adduserAction(){ 

    $data = $this->getRequest()->getParams(); 
    $u = new User(); 
    $u->setUserName($data['uName']); 
    $u->setPrepwd($data['pwd']); 
    $u->setPrepwd($data['pwd']); 
    if($u->isEqual()){ 
     $val = $u->addUsers(); 
     if($val) 
      $this->_helper->redirector('main','main'); 
    } 
    else 
     $this->_helper->redirector('newuser','newuser'); 


} 
} 

?> 

我的看法是newuser.phtml。在<form>action attributr中我指定了Newuser/adduser。但是當我提交表單時,它再次顯示newuser.phtml

這是爲什麼?

在此先感謝

Charu

+0

我覺得你重定向器重定向到'NEWUSER/newuser'。 – Florent 2012-07-11 09:40:48

+0

是啊...沒有任何方法可以糾正它嗎? – 2012-07-11 09:43:25

+0

請發佈您的用戶級別,以便我們可以檢查它。 – Ronn0 2012-07-11 09:44:35

回答

1

您可以向前請求而不是重定向:

$this->_forward('newuser'); 
+0

:-)謝謝Florent – 2012-07-11 10:11:26

1

我會建議你使用,而不是盼着重定向幫手,因爲如果你希望用戶被重定向到主頁面,它會重定向,但它不會改變URL,所以如果他們書籤的頁面,例如它不會工作。如果您使用重定向器,它會重定向並更改網址以顯示您的主要phtml頁面。同樣,如果你在同一個控制器中,不需要包含控制器的第二個參數。檢查了這一點更多的幫助

http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.redirector

相關問題