Ошибка при отправке информации в форме POST в Laravel - PullRequest
0 голосов
/ 20 октября 2019

Я Laravel, и отображается сообщение об ошибке «Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD, PUT, PATCH, DELETE.»Я использую форму :: открыть с кодом ниже:

Просмотреть регистр:

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

@section('content')


<div class="card card-register mx-auto mt-5">
    <div class="card-header">Criar Conta</div>
    <div class="card-body">
        <div class="justify-content-center">
            {{Form::model(['route' => 'users.store', 'method' => 'post'])}}
            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('nome', 'Nome:')}}
                    {{Form::text('nome',null,['class' => 'form-control'])}}
                    @if ($errors->has('nome'))
                    {{$errors->first('nome')}}
                    @endif
                </div>
            </div>



            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('sobrenome', 'Sobrenome:')}}
                    {{Form::text('sobrenome',null, ['class' => 'form-control'])}}
                    @if ($errors->has('nome'))
                    {{$errors->first('nome')}}
                    @endif
                </div>
            </div>




            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('datanascimento', 'Data de Nascimento:')}}
                    {{Form::date('datanascimento',null,['class' => 'form-control'])}}
                    @if ($errors->has('datanascimento'))
                    {{$errors->first('datanascimento')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('cpf', 'CPF:')}}
                    {{Form::text('cpf',null,['class' => 'form-control'])}}
                    @if ($errors->has('cpf'))
                    {{$errors->first('cpf')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('rg', 'RG:')}}
                    {{Form::text('rg',null,['class' => 'form-control'])}}
                    @if ($errors->has('rg'))
                    {{$errors->first('rg')}}
                    @endif
                </div>
            </div>


            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('telefone', 'Telefone:')}}
                    {{Form::text('telefone',null,['class' => 'form-control'])}}
                    @if ($errors->has('telefone'))
                    {{$errors->first('telefone')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('celular', 'Celular:')}}
                    {{Form::text('celular',null,['class' => 'form-control'])}}
                    @if ($errors->has('celular'))
                    {{$errors->first('celular')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('rua', 'Rua:')}}
                    {{Form::text('rua',null,['class' => 'form-control'])}}
                    @if ($errors->has('rua'))
                    {{$errors->first('rua')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('bairro', 'Bairro:')}}
                    {{Form::text('bairro',null,['class' => 'form-control'])}}
                    @if ($errors->has('bairro'))
                    {{$errors->first('bairro')}}
                    @endif
                </div>
            </div>


            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('complemento', 'Complemento:')}}
                    {{Form::text('complemento',null,['class' => 'form-control'])}}
                    @if ($errors->has('complemento'))
                    {{$errors->first('complemento')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('numero', 'Número:')}}
                    {{Form::text('numero',null,['class' => 'form-control'])}}
                    @if ($errors->has('numero'))
                    {{$errors->first('numero')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('cep', 'CEP:')}}
                    {{Form::text('cep',null,['class' => 'form-control'])}}
                    @if ($errors->has('cep'))
                    {{$errors->first('cep')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('email', 'Email:')}}
                    {{Form::text('email',null,['class' =>'form-control'])}}
                    @if ($errors->has('email'))
                    {{$errors->first('email')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('password', 'Senha:')}}
                    {{Form::password('password',['class' => 'form-control', 'type' => 'password'])}}
                    @if ($errors->has('password'))
                    {{$errors->first('password')}}
                    @endif
                </div>
            </div>

            <div class="form-row">
                <div class="col-md-6">
                    {{Form::label('password_confirmation', 'Confirmação Senha:')}}
                    {{Form::password('password_confirmation',['class' => 'form-control'])}}
                    @if ($errors->has('password_confirmation'))
                    {{$errors->first('password_confirmation')}}
                    @endif
                </div>
            </div>

            <div class="mt-3">
                {{Form::submit('Salvar',array('class'=> 'btn btn-primary', 'id' => 'validar'))}}
                {{Form::reset('Limpar', array('class' => 'btn btn-danger'))}}
            </div>
            {{Form::close()}}

        </div>
    </div>
</div>

@endsection

Это файл маршрута laravel:

Auth::routes();

Route::group(['middleware' => ['web', 'auth']], function () {
    Route::get('/', function () {
        if (Auth::user()->role == 0) {
            return view('home');
        } elseif (Auth::user()->role == 1) {
            return view('homeemployee');
        } elseif (Auth::user()->role == 2) {
            return view('homerequest');
        }
    });
});

Route::resource('users', 'UserController');

Este é o UserController:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;

class UserController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }


    public function create()
    {
        $users = new User();
        return view('users.create')->with('usuario', $users);
    }

    public function edit($id)
    {
        $users = User::find($id);
        return view('users.edit')->with('usuario', $users); 
    }

    public function destroy(Request $request, $id)
    {
        $users = User::find($id);
        $users->delete();

        $request->session()->flash('message', 'Excluido com sucesso');
        return redirect('users');
    }

    public function store(Request $request)
    {       
        $users = new User();
        $users->nome = $request->input('nome');
        $users->sobrenome = $request->input('sobrenome');
        $users->email= $request->input('email');
        $users->password = Hash::make($request->input('password'));
        $users->cpf = $request->input('cpf');
        $users->rg = $request->input('rg');
        $users->telefone= $request->input('telefone');
        $users->celular= $request->input('celular');
        $users->rua= $request->input('rua');
        $users->bairro= $request->input('bairro');
        $users->numero= $request->input('numero');
        $users->complemento= $request->input('complemento');
        $users->cep= $request->input('cep');
        $users->role=2;
        $users->datanascimento = $request->input('datanascimento');

        if ($users->save()) {
            $request->session()->flash('message', 'Usuário salvo com sucesso.');
        } else {
            $request->session()->flash('message', 'Ocorreu um erro ao cadastrar.');
        }

        return redirect()->route('users.index');
    }

    public function update(Request $request, $id)
    {

        $request->validate([
            'nome' => 'required'
        ]);
        $user = User::find($id);
        $user->nome = $request->input('nome');
        $user->sobrenome = $request->input('sobrenome');
        $user->email= $request->input('email');
        $user->password = Hash::make($request->input('password'));
        $user->cpf = $request->input('cpf');
        $user->rg = $request->input('rg');
        $user->telefone= $request->input('telefone');
        $user->celular= $request->input('celular');
        $user->rua= $request->input('rua');
        $user->bairro= $request->input('bairro');
        $user->numero= $request->input('numero');
        $user->complemento= $request->input('complemento');
        $user->cep= $request->input('cep');
        $user->role=2;
        $user->datanascimento = $request->input('datanascimento');
        $user->save();

        $request->session()->flash('message', 'Atualizado com sucesso');

        return redirect('users');
    }
}

Изображение ошибки

1 Ответ

0 голосов
/ 20 октября 2019

Похоже, вы не определили маршрут в группе промежуточного программного обеспечения. Итак, эта строка:

{{Form::model(['route' => 'users.store', 'method' => 'post'])}}

отправляет вашу форму обратно методом POST и ищет именованный маршрут с именем users.store. Однако размещенный вами файл маршрутов не определяет маршрут users.store. Я ожидал бы увидеть что-то подобное в ваших маршрутах:

 Route::post('users', 'UserController@store')->name('users.store');

Это бы очистило ошибку, поскольку вы назвали маршрут в пределах web.php.

Долгий способ сказать,поместите свой пользовательский ресурс user ВНУТРИ блока промежуточного программного обеспечения выше.

IE:

Route::group(['middleware' => ['web', 'auth']], function () {
    Route::resource('users', 'UserController'); // etc.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...