Существует HTML-форма, в которой содержится поле электронной почты и пароля. Я хотел бы отправить его в мое действие Controller с помощью POST.
Он работает только, если я получаю доступ к входам с помощью $request->request->get('email')
Этот код не работает. $data
- пустой объект по какой-либо причине:
$form = $this->createFormBuilder()
->add('email', 'email')
->add('pass', 'text')
->getForm();
$form->handleRequest($request);
$data = $form->getData();
return new Response('email: '.$data['email']);
Попробуй это:
$form->get('email')->getData();
в вашем шаблоне ветки:
<form action="{{ path('path-to-controller') }}" method="POST">
{{ form_widget }}
<input type="submit" value="send"/>
</form>
Это связано с тем, что форма не ожидает, что email
как параметр POST.
Если вы вручную создаете входные данные формы, вы должны сначала отобразить форму в ветке, чтобы узнать правильные имена полей ввода формы.