получить динамический токен csrf - PullRequest
1 голос
/ 13 июня 2019

У меня есть функция, которая генерирует форму из модели.

Категория Модель:

public static function generateForm()
{
    $output = '';

    $output .= '<form action="/category" method="post">
                '. csrf_field() .'
                <input type="text">
                <input type="submit" value="Submit" id="">                      
            </form>';
    return $output;
}

Это не работает.В моем * представлении он показывает скрытый входной токен, но не получает никакого значения.

Ответы [ 3 ]

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

Пожалуйста, убедитесь, что APP_KEY в файле .env не пустой. Если он пуст, тогда запустите «php artisan key: generate», чтобы сгенерировать это. После установки APP_KEY все будет работать нормально.

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

попробуйте

 public static function generateForm() {

        $output = '<form action="/category" method="post">'.
                               csrf_field().
                              '<input type="text">
                              <input type="submit" value="Submit" id="">                      
                          </form>';
        return $output;
    }
0 голосов
/ 13 июня 2019

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

Вот пример этого: -

category.php

public static function generateForm($token)
{
    $output = '';

    $output .= '<form action="/category" method="post">
                <input type="hidden" name="csrf_token" value="'.$token.'">
                <input type="text">
                <input type="submit" value="Submit" id="">                      
            </form>';
    return $output;
}

Теперь вам нужно передать только параметр этой функции, которую вы вызываете. Как это: -

view.blade.php

{{ $category->generateForm(csrf_token()) }}
...