Witam,
robię formularz logowania w Symfony. Mój problem polega na tym że w formularzu przesyłam metode POST a w controllerze w dump() odbiera mi GET i nie mogę wykonać dalszych kroków. Formularz pisałem sam więc jest mizerny ale się uczę:)
{% extends 'AdminBundle:common:login_layout.html.twig' %}
{% block body %}
<div>
<div class="login_wrapper">
<div class="text-center">
</div>
<div class="animate form login_form">
<section class="login_content">
<form action="{{ path('admin_login') }}" method="POST" enctype="multipart/form-data">
<h1>Login Form</h1>
<div>
<input type="text" id="username" name="username" class="form-control" placeholder="Username" required="" />
</div>
<div>
<input type="password" id="password" name="password" class="form-control" placeholder="Password" required="" />
</div>
<div>
<button type="submit" name="submit" class="btn btn-default submit">login</button>
</div>
<div class="clearfix"></div>
<br>
<br>
</form>
</section>
</div>
{{ message }}
</div>
</div>
{% endblock %}
<?php
namespace AdminBundle\Controller;
use Doctrine\ORM\Mapping as ORM;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Component\HttpFoundation\Session\Session;
class SecurityController extends CommonController
{
/**
* @Route("/login", name="admin_login")
* @Method({"POST","GET"})
*/
public function loginAction(Request $request)
{
dump($request->getMethod());
die();/*tutaj pokazuje metode GET*/
if(!empty($request->getMethod() == 'POST')){
$firstName = $request->get('username');
$password = $request->get('password');
$em = $this->getDoctrine()->getManager();
$user = $em->getRepository('DatabaseBundle\Entity\User')->findOneBy(array(
'firstName' => $firstName,
'password' => $password
));
$session = new Session();
/*success*/
$session->getFlashBag()->add('success', 'Zostales zalogowany');
/*error*/
$session->getFlashBag()->add('error', 'Wpisz poprawne dane');
if($user){
$session->set($firstName, $user->getFirstName());
$session->set($password, $user->getPassword());
foreach($session->getFlashBag()->get('success',array()) as $message);
// return $this->redirectToRoute('user_index');
return $this->render('AdminBundle:security:login.html.twig', array(
'message' => $message
));
}
else {
foreach($session->getFlashBag()->get('error',array()) as $message);
return $this->render('AdminBundle:security:login.html.twig', array(
'message' => $message
));
}
}
else{
return new Response('<html><body>Błąd</body></html>');
}
}
}
Proszę o pomoc
Pozdrawiam