Передавать данные со страницы на страницу и использовать их позже - PullRequest
0 голосов
/ 23 октября 2019

У меня есть сущность QR-кода с идентификатором, токеном и вторичным ключом в идентификаторе пользователя. Я получаю доступ к представлению, которое предлагает некоторые вещи и кнопку, которая позволяет пользователю подключаться. Вот где он застрял для меня, я сделал свою форму, и я хочу, чтобы, когда пользователь подключается, он назначил себе этот QR-код. Но на данный момент я даже не захожу на свою страницу:

/ getQrCode / doggybag / {id} / {token}

Мой контроллер:

class QRScannerController extends AbstractController
{

    /**
     * @Route("/getQrCode/doggybag/{id}/{token}", name="qrcode")
     */
    public function index(EntityManagerInterface $em, int $id, string $token): Response
    {
        $qrcode = $em->getRepository(Qrcode::class)->findAll();
        if (null === $qrcode) {
            throw new NotFoundHttpException();
        }

        return $this->render('qr_scanner/index.html.twig', [
            'qrcode' => $qrcode,
        ]);
    }

    /**
     * @Route("/getQrCode/doggybag/{id}/{token}/connexionUser", name="connexionUser")
     */
    public function connexionUser(EntityManagerInterface $em, int $id, string $token, Request $request): Response
    {
        $qrcode = $em->getRepository(Qrcode::class)->findAll();
        if (null === $qrcode) {
            throw new NotFoundHttpException();
        }

        if ($request->isMethod('POST')) {
            $em = $this->getDoctrine()->getManager();
            $em->getRepository(User::class)
                ->findAll();

            return $this->render('qr_scanner/congrats.html.twig');
        }

        return $this->render('qr_scanner/connexionUser.html.twig', [
            'qrcode' => $qrcode,
        ]);
    }
}

Другие проблемы, я генерирую свои qr-коды в JS, давая им такую ​​ссылку:

domain.com / getQrCode / doggybag / {id} /{token}

Так что я должен сделать все мои тесты в продукт ...

Редактировать:

На самом деле моя проблема приходитс моей точки зрения. Моя кнопка, позволяющая перейти к представлению

"connexionUser"

, выполняется следующим образом:

<a href="{{path('loginUser') }}"><img src="{{asset('build/assets/img/xxx.png')}}"></a>

Переход не выполнен,Я думаю, что он забывает идентификатор и токен моего qrcode, когда хочет попасть на страницу:

domain.com / getQrCode / doggybag / {id} / {token} / connexionUser

Хотя, если я добавлю "/loginUser", указывающий реальный идентификатор и реальный токен, это сработает.

Как это забыть данные URL?

Edit2:

Достаточно было передать идентификатор и токен в моем представлении следующим образом:

/**
 * @Route("/getQrCode/doggybag/{id}/{token}", name="qrcode")
 */
public function index(EntityManagerInterface $em, int $id, string $token): Response
{
    $qrcode = $em->getRepository(Qrcode::class)->findAll();
    if (null === $qrcode) {
        throw new NotFoundHttpException();
    }

    return $this->render('qr_scanner/index.html.twig', [
        'qrcode' => $qrcode,
        'id' => $id,
        'token' => $token
    ]);
}

и использовать его следующим образом:

<a href="{{ path('connexionUser', {id: id, token: token}) }}"><img src="{{asset('build/assets/img/xxx.png') }}"></a>

Проблема решена! : D

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