Php 单击“提交”后无法提交表单

Php 单击“提交”后无法提交表单,php,mysql,forms,symfony,Php,Mysql,Forms,Symfony,您好,我想在Symfony中单击submit按钮创建表单并将记录插入mysql表。 我是新来的。我已经创建了表单,但提交时没有响应。这是我的密码 DefaultController.php index.html.twig 我的输出如下图所示 我的问题是,当我点击提交按钮时,它不会返回响应,并且我无法保存我的记录。请帮我解决这个问题。我认为您需要在twig中添加表单标签: {{ form_start(form) }} //all form widgets //submit button {{

您好,我想在Symfony中单击submit按钮创建表单并将记录插入mysql表。 我是新来的。我已经创建了表单,但提交时没有响应。这是我的密码

DefaultController.php

index.html.twig

我的输出如下图所示


我的问题是,当我点击提交按钮时,它不会返回响应,并且我无法保存我的记录。请帮我解决这个问题。

我认为您需要在twig中添加表单标签:

{{ form_start(form) }}

//all form widgets

//submit button

{{ form_rest(edit_form) }} <-- so it renders the hidden ones like the csrf token

</form>
您需要像这样使用form_start、form_rest和form_end:

{% block gender_widget %}
{% spaceless %}
    {% if form %}
    {{ form_start(form) }}
        <ul {{ block('widget_container_attributes') }}>
        {% for child in form %}
            <li>
                {{ form_widget(child) }}
                {{ form_label(child) }}
            </li>
        {% endfor %}
        </ul>
    {{ form_rest(form) }}
    {{ form_end(form) }}
    {% else %}
        {# just let the choice widget render the select tag #}
        {{ block('choice_widget') }}
    {% endif %}
{% endspaceless %}
{% endblock %}

Thanx你@Hornth。。。我得到了它
{% block gender_widget %}
    {% spaceless %}
        {% if form %}
            <ul {{ block('widget_container_attributes') }}>
            {% for child in form %}
                <li>
                    {{ form_widget(child) }}
                    {{ form_label(child) }}
                </li>
            {% endfor %}
            </ul>
        {% else %}
            {# just let the choice widget render the select tag #}
            {{ block('choice_widget') }}
        {% endif %}
    {% endspaceless %}
{% endblock %}
{% block container %}

{% endblock%}
<?php

namespace Sym\FormBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class TblCustType extends AbstractType
{
        /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('custName')
            ->add('custCity')
            ->add('custAddress')
            ->add('custPhno')
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Sym\FormBundle\Entity\TblCust'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'sym_formbundle_tblcust';
    }
}
{{ form_start(form) }}

//all form widgets

//submit button

{{ form_rest(edit_form) }} <-- so it renders the hidden ones like the csrf token

</form>
{% block gender_widget %}
{% spaceless %}
    {% if form %}
    {{ form_start(form) }}
        <ul {{ block('widget_container_attributes') }}>
        {% for child in form %}
            <li>
                {{ form_widget(child) }}
                {{ form_label(child) }}
            </li>
        {% endfor %}
        </ul>
    {{ form_rest(form) }}
    {{ form_end(form) }}
    {% else %}
        {# just let the choice widget render the select tag #}
        {{ block('choice_widget') }}
    {% endif %}
{% endspaceless %}
{% endblock %}