Задать вопрос
@nikitinnv

Почему csrf_token() на Laravel 5.2 пустой?

Всем привет!
Никак не пойму, почему при попытке создать в форму, csrf_token пустой?

Использую Laravel 5.2.44

Форма:
{!! Form::open((array('action' => 'FeedbackController@store'))) !!}
    <input type="text" name="name" id="name">
    <button type="submit">Submit</button>
    {!! Form::close() !!}


В исходном коде выглядит потом так:
<form method="POST" action="http://cms.local/contact" accept-charset="UTF-8"><input name="_token" type="hidden">
    <input type="text" name="name" id="name">
    <button type="submit">Submit</button>
    </form>


Rout:
Route::group(['middleware' => 'web'], function () {

    Route::post('contact', ['as' =>'contact','uses' => 'FeedbackController@store']);

    Route::get('bar', function () {
        return csrf_token(); // works
    });

});


Контроллер:
public function store(Request $request)
    {
        $input = Request::all();

        return $input;
    }


Удивительно, что если перейти на /bar, то токен нормально генерируется. Что я мог забыть или где ошибиться?
Спасибо!
  • Вопрос задан
  • 387 просмотров
Подписаться 2 Средний 1 комментарий
Решения вопроса 1
@nikitinnv Автор вопроса
Спасибо всем неравнодушным)))
Нашел ошибку. Оказалось в RouteServiceProvider накосячил и не использовал web middleware для своего класса
Теперь исправил:
protected function mapWebRoutes(Router $router)
    {


        $router->group([
            'namespace' => $this->namespace, 'middleware' => 'web',
        ], function ($router) {
            require app_path('Http/routes.php');

            foreach (Page::all() as $page){
                $router->get($page->url, ['as' => $page->name, function () use ($page,$router){
                    return $this->app->call('LH\Http\Controllers\PageController@show',[
                        'page' => $page,
                        'parameters' => $router->current()->parameters()
                    ]);
                }]);
            }

        });
    }


2 дня голову ломал, а как опубликовал вопрос, так сразу ответ нашел... Подстава какая)))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
miraage
@miraage
Старый прогер
{{ csrf_field() }} потеряли в форме.

DOCS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы