Symfony在 Controller 中获取表格数据

标签 symfony symfony-forms symfony-2.1

我有这样的看法:

//login.html.twig

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MY APP</title>
</head>

<body>
    <form action="{{ path('conection') }}" method="post" name="formulario_login">
        <label for="username">User:</label>
        <input type="text" id="username" name="_username" value="{{ last_username|default('') }}" />
        <br />
        <label for="password">Password:</label>
        <input type="password" id="password" name="_password" />
        <br />
        <input type="checkbox" id="remember_me" name="_remember_me"/>
        <label for="remember_me">Remember me</label>
        <br />
        <input type="submit" name="login" value="Login" />
    </form>
</body>
</html>

在我的路由文件中:
conection:
pattern:  /conection
defaults: { _controller: UserBundle:Default:conection}

还有我的 Controller
<?php

namespace myApp\UserBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;

class DefaultController extends Controller
{
    //some other action functions

    public function conectionAction(){

    }
}

我的问题是如何在 Controller 中获取要使用的用户名和密码字段的值?我进行了搜索,但看不到明确的解决方案。

最佳答案

通过示例并使用Symfony2.8尝试此操作

查看:

  <form action="{{ path('connection') }}" method="post" name="formulario_login">
        <label for="username">User:</label>
        <input type="text" id="username" name="_username" value="" />
        <br />
        <label for="password">Password:</label>
        <input type="password" id="password" name="_password" />
        <br />
        <input type="checkbox" id="remember_me" name="_remember_me"/>
        <label for="remember_me">Remember me</label>
        <br />
        <input type="submit" name="login" value="Login" />
    </form>

Controller :
public function connectionAction(Request $request) {
    $username = $request->request->get('_username');
    $password = $request->request->get('_password');
     ....
}

您可以看到,命名的其他方式并不是那么直观:
 // $_GET parameters
$request->query->get('name');

// $_POST parameters
$request->request->get('name');

关于Symfony在 Controller 中获取表格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42817800/

相关文章:

php - Doctrine 更新 -- Mysql Errno : 150

我的 UserController 的 PHPunit 没有覆盖所有行

symfony - 如何使用 FOSRESTBundle 为某些操作生成自定义路由?

symfony-2.1 - 在 preUpdate Sonata Admin Bundle 中获取旧数据

forms - 我如何在第一个元素(buildform)symfony上获得自动聚焦

php - 带有获取参数的 symfony2 渲染 Controller

php - Symfony Doctrine UniqueConstraint错误常量表达式包含无效操作

symfony - 带有 propel 的 symfony2 表单的实体字段类型等效是什么?

symfony - 如何在 Symfony 中自定义 DataTransformer 错误消息?

symfony - 如何将数据库中的所有数据显示到twig中?