为了账号安全,请及时绑定邮箱和手机立即绑定

Symfony 4 - 如何将参数从表单传递到控制器

Symfony 4 - 如何将参数从表单传递到控制器

PHP
牛魔王的故事 2021-06-11 15:39:38
我在尝试将参数从我的表单传递到我的控制器时遇到了麻烦。我试图实现的是一个选项列表,允许根据参数(角色、禁止...)显示用户列表。问题是我认为提交后我没有得到参数以将我的请求放入索引中。问题可能是我在提交之前和之后在同一个函数中重新编写了同一个表单?我尝试将 href/onclick/ 标签放在我的选项上,但没有用。index.html.twig<form class="form-group" action="{{ path('user_index') }}">            <table class="table">                <tr>                    <td>                        <select class="custom-select">                            <option selected="">Which users to you want to see ?</option>                            <option value="1">All</option>                            <option value="2">Students</option>                            <option value="3">Teachers</option>                            <option value="4">Admins</option>                            <option value="5">Super Admin</option>                            <option value="6">Banned</option>                            <option value="7">Unbanned</option>                        </select>                    </td>                    <td>                        <input type="submit" value="Submit">                    </td>                </tr>            </table>        </form>
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

据我了解,您的表单的方法是GET请求。要使用 HttpFoundation 组件检索 $_GET 变量,您需要:


您的选择输入应该有一个名称。

例子:


<form class="form-group" action="{{ path('user_index') }}" method="get">

            <table class="table">

                <tr>

                    <td>

                        <select class="custom-select" name="users">

                            <option selected="">Which users to you want to see ?</option>

                            <option value="1">All</option>

                            <option value="2">Students</option>

                            <option value="3">Teachers</option>

                            <option value="4">Admins</option>

                            <option value="5">Super Admin</option>

                            <option value="6">Banned</option>

                            <option value="7">Unbanned</option>

                        </select>

                    </td>

                    <td>

                        <input type="submit" value="Submit">

                    </td>

                </tr>

            </table>

</form>

尝试使用获取您的请求 ( GET ) 参数$request->query->get('users')


查看完整回答
反对 回复 2021-06-19
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您的选择没有名称:


<select class="custom-select" name="userselect">

    <option selected="">Which users to you want to see ?</option>

    <option value="1">All</option>

    <option value="2">Students</option>

    <option value="3">Teachers</option>

    <option value="4">Admins</option>

    <option value="5">Super Admin</option>

    <option value="6">Banned</option>

    <option value="7">Unbanned</option>

</select>

并在您的控制器中获取 $request 中的“userselect”。


查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信