1

小さなアプリを開発しています。PHPとZend Frameworkを使用しています。フォームがあり、そのコントローラーを使用してフォームを表示します。ここで、フォーム データを操作し、それに応じてユーザーをリダイレクトする必要があります。これが私のコントローラーです

<?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/adduser。しかし、フォームを送信すると、newuser.phtml.

どうしてこれなの?

前もって感謝します

ちゃる

4

2 に答える 2

1

フォワードの代わりにリダイレクタヘルパーを使用することをお勧めします。ユーザーをフォワードでメインページにリダイレクトしたい場合はリダイレクトされますが、URLは変更されないため、たとえばページをブックマークする場合動作しません。リダイレクタを使用すると、URL がリダイレクトされて変更され、メインの phtml ページだけが表示されます。また、同じコントローラーにいる場合、コントローラーである2番目のパラメーターを含める必要はありません。詳細については、これを確認してください

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

于 2012-07-30T15:57:54.250 に答える
1

リダイレクトする代わりにリクエストを転送できます。

$this->_forward('newuser');
于 2012-07-11T10:09:05.240 に答える