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。在我指定的action属性中。但是当我提交表单时,它再次显示.<form>Newuser/addusernewuser.phtml

为什么是这样?

提前致谢

查鲁

4

2 回答 2

1

您可以转发请求而不是重定向:

$this->_forward('newuser');
于 2012-07-11T10:09:05.240 回答
1

我建议您使用重定向器助手而不是 foward,因为如果您希望使用 foward 将用户重定向到主页,它将重定向但不会更改 url,因此如果他们要为页面添加书签,例如它不会工作。如果您使用重定向器,它将重定向并更改 url 以仅显示您的主 phtml 页面。此外,如果您在同一个控制器中,则无需包含作为控制器的第二个参数。看看这个以获得更多帮助

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

于 2012-07-30T15:57:54.250 回答