Я не могу хранить данные в БД - PullRequest
0 голосов
/ 15 мая 2019

Я не могу хранить данные, у меня нет ошибок, я пробовал что-то вроде смены имени на id в формах, но это ничего не меняет.

Это мой взгляд, это еще не все, но почти каждый выбор подобен этому

<form method="POST" action="{{ action('MatchController@store') }}">

    <select class="col-sm-2 form-control" name="users1" required>

      @foreach($users1 as $users1)
        @if ($users1->id == 0 or $users1->id == Auth::user()->id);
        @else
        <option selected value="{{$users1->nick}}">{{$users1->nick}}  </option> 

        @endif
      @endforeach

    </select>

<textarea rows="4" cols="50" class=" form-control" name="text" form="usrform">Deporte, condiciones, reglas, puntuación...</textarea><hr>
</form>
<button type="submit" class="btn btn-primary">{{ __('Enviar') }}</button>

Это мой контроллер

public function store(Request $request)
    {

        $this->validate($request, [

            'users1' => 'required',
            'text' => 'required',

            ]);

            $vs = new Vs;
            $vs->users1 = $request->input('users1');
            $vs->text = $request->input('text');
            $vs->save();

            return redirect('/place');
    }

Ответы [ 3 ]

0 голосов
/ 15 мая 2019

вы не использовали токен csrf в своей форме, вы можете использовать это

    <form method="POST" action="{{ action('MatchController@store') }}">
 <input type="hidden" name="_token" value="{{ csrf_token() }}" />
<select class="col-sm-2 form-control" name="users1" required>

  @foreach($users1 as $users1)
    @if ($users1->id == 0 or $users1->id == Auth::user()->id);
    @else
    <option selected value="{{$users1->nick}}">{{$users1->nick}}  </option> 

    @endif
  @endforeach

</select>
0 голосов
/ 18 мая 2019

В блейд-файле:

<form method="POST" action="{{ action('MatchController@store') }}">

    @csrf

    <select class="col-sm-2 form-control" name="users1" required>

        @foreach($users1 as $users1)
            @if ($users1->id == 0 or $users1->id == Auth::user()->id);
            @else
                <option selected value="{{$users1->nick}}">{{$users1->nick}}  </option> 
            @endif          
        @endforeach

    </select>

    <textarea rows="4" cols="50" class=" form-control" name="text" form="usrform">Deporte, condiciones, reglas, puntuación...</textarea><hr>

    <button type="submit" class="btn btn-primary">{{ __('Enviar') }}</button>
</form>

В контроллере:


public function store(Request $request){

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

    $post = $request->all();

    Vs::create($post);

    return redirect('/place');
}

0 голосов
/ 15 мая 2019

Вы не добавили {{ csrf_field() }} поле в вашей форме.

Вот форма с полем {{ csrf_field() }}. Можешь попробовать с этим?

 <form method="POST" action="{{ action('MatchController@store') }}">
    {{ csrf_field() }}
        <select class="col-sm-2 form-control" name="users1" required>

          @foreach($users1 as $users1)
            @if ($users1->id == 0 or $users1->id == Auth::user()->id);
            @else
            <option selected value="{{$users1->nick}}">{{$users1->nick}}  </option> 

            @endif
          @endforeach

        </select>

    <textarea rows="4" cols="50" class=" form-control" name="text" form="usrform">Deporte, condiciones, reglas, puntuación...</textarea><hr>
    <button type="submit" class="btn btn-primary">{{ __('Enviar') }}</button>  
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...