Symfony3 - 我手写的帖子形式不起作用

时间:2016-02-26 10:06:47

标签: forms post symfony

我正在努力学习如何使用Symfony3 我正在尝试制作一个简单的连接形式。表单成功地将我重定向到我的页面/登录,因此这是超级的。但它没有发送到页面的帖子信息:/你知道该怎么做吗? 这是我的控制器代码:

    public function showAction(Request $request){
        $motDePasse = $request->request->get("motDePasse", "");
        $identifiant = $request->request->get("identifiant", "");

        if($motDePasse  != "" && $identifiant != ""){
            // I make my user object and put it in $_SESSION
        }

        return $this->render("login/show.html.twig", [
            "identifiant" => $identifiant
        ]);
    }

还有我的枝条代码:

{% extends "::base.html.twig" %}

{% block body %}
    <div id='loginBox'>
        <div class='center'>
            <div class='logo'></div>
            <h1>HyperPlanning</h1>
            <form action="{{ path('login') }}" method='post'>
                <input name='identifiant' type='text'     placeholder='Identifiant' value="{{ identifiant }}"><br/>
                <input name='motDePasse'  type='password' placeholder='Mot de passe'><br/>
                <input name='remember'    type='hidden' value='0'><br>
                <input name='remember'    type='checkbox' value='1' checked>    <span>Rester connecter</span><br>
                <input type='submit' value='Se connecter'>
            </form>
        </div>
    </div>
{% endblock %}

1 个答案:

答案 0 :(得分:0)

我的笔记本电脑上没有配置Symfony3项目,但是Symfony v2.7。但是,我认为该脚本也适用于Symfony3。

我有DefaultController行动loginmanageLogin。第一个操作包含上面的html表单,第二个操作包含$request的转储。这两个操作都具有相应actionName的路由名称。在html表单中,我使用manageLoginAction的路径名称作为action =“...”。

提交表单时,会呈现manageLoginAction

<强> DefaultController:

<?php
// [...]
class DefaultController extends Controller
{
// [...]

/**
 * @Route("/konto/login", name="login")
 * @Template()
 */
public function loginAction(Request $request)
{
    return array(
        'base_dir' => realpath($this->container->getParameter('kernel.root_dir').'/..'),
    );
}
/**
 * @Route("/konto/manageLogin", name="manageLogin")
 * @Template()
 */
public function manageLoginAction(Request $request)
{
    dump($request);
    die;
}

// [...]
}

<强> login.twig.html:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>{% block title %}Welcome!{% endblock %}</title>
        {% block stylesheets %}{% endblock %}
        <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />
    </head>
    <body>
        {% block body %}
            <div id='loginBox'>
                <div class='center'>
                    <div class='logo'></div>
                    <h1>HyperPlanning</h1>
                    <form action="{{ path('manageLogin') }}" method='post'>
                    <input name='identifiant' type='text'     placeholder='Identifiant' value="Identifier"><br/>
                    <input name='motDePasse'  type='password' placeholder='Mot de passe'><br/>
                    <input name='remember'    type='hidden' value='0'><br>
                    <input name='remember'    type='checkbox' value='1' checked>                <span>Rester connecter</span><br>
                    <input type='submit' value='Se connecter'>
                </form>
            </div>
       </div>
   {% endblock %}
   {% block javascripts %}{% endblock %}
   </body>

<强>转储($请求):

Dump of var $request