[symfony] подключение регистрируется на той же странице? - PullRequest
0 голосов
/ 25 июня 2019

У меня есть проблема с моим кодом Symfony, я на самом деле ищу, как разместить две формы, одну для соединений и одну для входа в систему на той же странице, и это показывает мне ошибку, если я отправляю форму регистрации, потому что этоуказанная страница в security.yaml: вот код моей регистрационной формы ...

class SecurityController extends AbstractController
{
    /**
     * @Route("/", name="register_login")
     */
    public function register(UserPasswordEncoderInterface $hasher,
    Request $request, ObjectManager $manager)
    {
        $userInfos = new UserInfos();        
        $form = $this->createForm(RegistrationType::class, $userInfos);
        $form->handleRequest($request);
        if($form->isSubmitted() && $form->isValid())
        {
            $userInfos->setLastConnection(new \DateTime());
            $userInfos->setSubscribedAt(new \DateTime());
            $userInfos->setPassword($hasher->encodePassword($userInfos,
            $userInfos->getPassword()));
            $manager->persist($userInfos);
            $manager->flush();
        }
        return $this->render('security/login.html.twig', [
            'formUser' => $form->createView()
        ]);
    }
}

и он возвращает файл ветки с формой входа ...

<form class="form-inline my-2 my-lg-0" action="{{ path('register_login') }}" method="post">
            <input class="form-control mr-sm-2" required type="email" name="_username" placeholder="Email">
            <input class="form-control mr-sm-2" required type="password" name="_password" placeholder="Mot de passe">
            <button class="btn btn-success my-2 my-sm-0" type="submit">Connexion</button>
        </form>

Моя конфигурация security.yaml: безопасность: кодировщики: App \ Entity \ UserInfos: алгоритм: bcrypt

# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
    in_memory: { memory: ~ }
    DB:
        entity:
            class: App\Entity\UserInfos
            property: email
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    main:
        anonymous: true
        provider: DB
        form_login:
            login_path: register_login
            check_path: register_login

Спасибо за ваше внимание.

1 Ответ

0 голосов
/ 25 июня 2019

Вы кладете 2 формы в веточку, вы должны поместить форму в один контроллер (может быть зарегистрирован)

Put $ formRegister-> createView ();$ formLogin-> createView () в вашем шаблоне.

действие одной формы находится в {{path ('register ...')}} и войдите в систему {{path ('login')}}

но обратите внимание, что вы должны контролировать все переменные, иначе вы увидите ошибку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...