代码之家  ›  专栏  ›  技术社区  ›  Ross

ZF表格拒绝发布

  •  1
  • Ross  · 技术社区  · 15 年前

    public function loginAction()
    {
        $form = new Application_Form_Login;
        $form->setAction("/users/login");
    
        $request = $this->getRequest();
    
        var_dump($request->isPost());
        if ($request->isPost() && $form->isValid($request->getPost())) {
            // snipped code that is never reached anyway
        }
    
        $this->view->form = $form;
    }
    

    还有一张表格:

    class Application_Form_Login extends Zend_Form
    {
        public function init()
        {
            $this->setMethod("post");
    
            $email = new Zend_Form_Element_Text("email");
            $email->addFilter("StringTrim")
                  ->addValidator("NotEmpty")
                  ->addValidator("EmailAddress")
                  ->setRequired(true)
                  ->setLabel("Email address");
            $this->addElement($email);
    
            $password = new Zend_Form_Element_Password("password");
            $password->addFilter("StringTrim")
                     ->addValidator("NotEmpty")
                     ->setRequired(true)
                     ->setLabel("Password");
            $this->addElement($password);
    
            $submit = new Zend_Form_Element_Submit("finish");
            $submit->setLabel("Login");
            $this->addElement($submit);
        }
    }
    

    var_dump($request->isPost()) 总是返回false,但在几乎相同的操作中,它工作得非常完美!有什么想法吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Ross    15 年前

    我找到了。如果用户没有登录,我在/users上有一个重定向,要重定向回/users/login。我没有将Zendèu Auth的结果保存在存储中,因此给我的印象是登录什么都没做。

    POST http://localhost/users/login (302 Found)
    GET http://localhost/users
    GET http://localhost/users/login
    
    推荐文章