SORU
24 Ocak 2012, Salı


Nasıl Symfony2 denetleyicisi form değerleri almak için

Aşağıdaki denetleyicisi kodu ile Symfony2 üzerinde bir oturum açma formu kullanıyorum

public function loginAction(Request $request)
{
    $user = new SiteUser();
    $form = $this->createForm(new LoginType(), $user);


    if ($request->getMethod() == 'POST') {
        $form->bindRequest($request);
        $data = $form->getValues();
        // Need to do something with the data here
    }

    return $this->render('GDSiteBundle::header.html.twig', array('form' => $form->createView()));
}

Ama aşağıdaki uyarıyı alıyorum:

Uyarı: () array_replace_recursive [fonksiyon.dizi-yerine-recursive]: Argüman #1 \vendor\symfony\src\Symfony\Component\Form\Form.php line 593 bir dizi değil 500 İç Sunucu Hatası - ErrorException

Biri bana nasıl onarabileceğimi yanlış nedir, ve anlamanıza yardımcı olabilir? Teşekkürler.

Güncelleme: Dal dosya böyle bir şey

<div class="form">
                {{ form_errors(form) }}
                <form action="{{ path('site_user_login') }}" method="POST" {{ form_enctype(form) }}>
                <div class="level1">
                    {{ form_row(form.username) }}
                    <a href="javascript:void(0)" id="inscription">{% trans %}Registration{% endtrans %}</a>
                </div>
                <div class="level2">
                    {{ form_row(form.pwd_hash) }}
                    <div class="forget_pass"><a href="#" id="frgt">{% trans %}Forgot Password ?{% endtrans %}</a></div>
                </div>
                <input type="submit" class="submit" name="login" value/>
                <div class="clr"></div>
                </form>
            </div>

İşte Formun Yazın işlevi

public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('username', 'text', array('label' => 'Username : '));
    $builder->add('pwd_hash','password', array('label' => 'Password : '));
}

İşte güzergah:

site_user_login:
    pattern: /{_locale}/login
    defaults: {_controller: GDSiteBundle:SiteUser:login}

CEVAP
5 EKİM 2012, Cuma


Sadece :

$data = $form->getData();

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FRED

    FRED

    1 EKİM 2005
  • RayperEnglishKnight

    RayperEnglis

    24 Kasım 2008
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009