Symfony 在控制器中获取表单数据 [英] Symfony get form data in controller

查看:23
本文介绍了Symfony 在控制器中获取表单数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个看法:

//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}

还有我的控制器

<?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(){

    }
}

我的问题是如何在控制器中获取用户和密码字段的值以使用它们?我进行了搜索,但没有看到明确的解决方案.

My question is how do I get in the controller the values of user and password fields to work with them?I have search but I don´t see a clear solution.

推荐答案

试试这个,通过例子和使用 Symfony2.8

Try this, by way of example and using 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>

控制器:

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

获取参数的其他方式,如您所见,命名并不那么直观:

Other way to get parameters, as you can see the naming is not all that intuitive:

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

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

这篇关于Symfony 在控制器中获取表单数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆