$ request-> request-all()在symfony3

时间:2016-09-11 20:50:25

标签: php twig symfony

有一些简单的任务让我发疯,我已经在网站上搜索了我发现不起作用的解决方案,或者我的环境中没有正确配置的解决方案。

嗯,我在html中有一个简单的表单,表单有他的名字(accessForm)和他的输入,还有表单的代码

<form action="admin#updateProfile" method="post" role="form" name="accessForm" class="smart-form">
                        <header>
                            Datos de acceso a la red
                        </header>
                        {% if error != '0' %}
                            <div class="alert alert-danger">
                            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
                            <strong>Hay algún error<br/></strong> {{ error }}
                            </div>                                  
                        {% endif %}
                        <fieldset>

                            <section>
                                <label class="label">Nombre de usuario</label>
                                <label class="input">
                                    <input type="text" maxlength="25" name="nombreUsuario" value="{{ userData.username }}">
                                </label>
                                <div class="note">
                                    <strong>Nombre de usuario:</strong> es el nombre con el que puedes loguearte en la red SEMB, si cambias este dato, tu sesión finalizará automáticamente y tendrás que volver a loguearte.
                                </div>
                            </section>

                            <section>
                                <label class="label">Contraseña</label>
                                <label class="input">
                                    <input type="password" maxlength="50" name="password">
                                </label>
                                <div class="note">
                                    <strong>Tu contraseña de acceso:</strong> deja este campo en blanco si no quieres cambiar tu contraseña. Si la cambias, tu sesión finalizará y tendrás que volver a loguearte.
                                </div>
                            </section>

                            <section>
                                <label class="label">Correo electrónico</label>
                                <label class="input">
                                    <input type="text" maxlength="80" name="email" value= "{{ userData.email }}">
                                </label>
                                <div class="note">
                                    <strong>Correo electrónico:</strong> es fundamental que sea un correo válido ya que ahí recibirás las notificaciones (si quieres claro), también puedes usar el e-mail para loguearte en la red.
                                </div>
                            </section>  

                            <section>
                                <label class="toggle">
                                    <input type="checkbox" name="recibirNotificaciones" {{ userData.recibirNotificaciones }}>
                                    <i data-swchon-text="SI" data-swchoff-text="NO"></i> deseo recibir notificaciones por e-mail
                                </label>
                            </section>      
                        </fieldset>

                        <header>
                            Configuración de apariencia
                        </header>

                        <fieldset>
                            <section>
                                <label class="label">Fondo para el perfil de usuario</label>
                                <div class="carousel-inner">
                                        <div class="item active">
                                            <img id="background" src="../img/backgrounds/{{ userData.background }}" alt="">
                                        </div>
                                </div>
                                <label class="label">Cambiar fondo</label>
                                <label for="file" class="input input-file">
                                    <div class="button"><input id="imgBackground" type="file" name="backgroundFile" onchange="this.parentNode.nextSibling.value = this.value">Cargar</div><input type="text" placeholder="Selecciona un fichero desde tu ordenador" readonly="">
                                </label>
                            </section>


                            <section>
                                <label class="label">Avatar</label>
                                <div class="profile-pic">
                                    <img id="avatar" src="../img/avatars/{{ userData.avatar }}" alt="">
                                </div>
                                <label class="label">Cambiar avatar</label>
                                <label for="file" class="input input-file">
                                    <div class="button"><input id="imgAvatar" type="file" name="avatarFile" onchange="this.parentNode.nextSibling.value = this.value">Cargar</div><input type="text" placeholder="Selecciona un fichero desde tu ordenador" readonly="">
                                </label>
                            </section>

                        </fieldset>

                        <footer>
                            <button type="submit" name="send" class="btn btn-primary">
                                Guardar cambios
                            </button>

                        </footer>
                    </form>

此表单是POST方法,操作调用路由。这条路线的目标是一个控制器,在这个控制器的动作中,我设置了一个简单的变量来获得$ request的值。

  public function UpdateProfileAction(Request $request)
{
    $error = "0";

    $data = $request->request->all();

好吧,$ request-&gt; request-all()总是返回空数组

我的表格有什么问题?

注意:如果我将form方法更改为GET,则控制器中的$ data变量会正确返回数组(通过查询更改属性请求)

提前致谢。

0 个答案:

没有答案