получение параметра строки запроса в контроллере, laravel

#php #laravel

#php #laravel

Вопрос:

У меня есть форма внутри блейда, которая вызывает функцию контроллера, и я пытаюсь включить параметр строки запроса URL в вызов функции.

url-адрес является testsite.com/verifyPhone?accessToken=1Kdfj348fDFJ$($kjdf

В моем вызове функции контроллера я уже использую запрос для проверки формы

     $this->validate($request,[
        'verify_phone' => 'required',
    ]);
  

Как я могу также получить accessToken параметр в URL-адресе и включить его в этот запрос для отправки при моем следующем вызове следующим образом:

 $authService->verifyPhone($request->accessToken, $request->verify_phone);
  

Комментарии:

1. $request->get('accessToken') не работает?

2. блин, я использовал $request()-> accessToken

3. я обновил его в качестве ответа

Ответ №1:

Вы также можете получить параметр запроса через входной фасад

 Input::get('accessToken')
  

Убедитесь, что use IlluminateSupportFacadesInput

Ответ №2:

Одним из преимуществ использования Laravel является то, что вам не нужно беспокоиться о предотвращении такого рода атак.

Laravel автоматически обрабатывает его для каждого сеанса пользователя. Вам просто нужно включить директиву @csrf Blade в вашу форму.

Документация: https://laravel.com/docs/5.8/csrf

Комментарии:

1. Я не уверен, что понимаю? это не имеет никакого отношения к csrf, я получаю токен из внутреннего API, который используется для регистрации функции. Я просто хочу убедиться, что я передаю параметр URL с именем accessToken в этом вызове функции

2. Я считаю, что необходимо ожидать вопросительный знак в вашем web.php файл маршрута. Что-то вроде Route::get(‘/verifyPhone? accessToken={accessToken}’…

3. Параметр есть, но я не получаю его на маршруте. Только в контроллере. Я просто ищу что-то вроде request()-> param

Ответ №3:

Использовать

 $request->get('accessToken')
  

вместо

 $request->accessToken