Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提交时MethodNotAllowedHttpException_Php_Forms_Exception_Laravel 5 - Fatal编程技术网

Php 提交时MethodNotAllowedHttpException

Php 提交时MethodNotAllowedHttpException,php,forms,exception,laravel-5,Php,Forms,Exception,Laravel 5,我在三个小时前第一次开始使用Laravel,我正在尝试创建一本基本的金书,人们可以在书中写一些关于餐馆的好东西 因此,我使用命令php-artisan-make:controller-GoldenbookController--resource创建了我的控制器,然后使用命令php-artisan-make:model-Goldenbook-m创建了我的模型。在迁移过程中,我只是在迁移之前添加了“name”和“message”。我还在routes/web.php文件中添加了resource 创建视

我在三个小时前第一次开始使用Laravel,我正在尝试创建一本基本的金书,人们可以在书中写一些关于餐馆的好东西

因此,我使用命令
php-artisan-make:controller-GoldenbookController--resource
创建了我的控制器,然后使用命令
php-artisan-make:model-Goldenbook-m
创建了我的模型。在迁移过程中,我只是在迁移之前添加了“name”和“message”。我还在
routes/web.php
文件中添加了
resource

创建视图和表单后,我尝试了该操作,但出现以下错误:

MethodNotAllowedHttpException in RouteCollection.php line 218
我看到很多人都有这个问题,但解决这个问题的方法与我的情况不符,因为我使用
Route::resource
告诉Laravel我的CRUD

这是我的GoldenBookController.php

 /**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    return view('goldenbook.create');

}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    $validator = Validator::make($request->all(), [
        'nom' => 'required',
        'message' => 'required'
    ]);


    if($validator->fails()){
        return redirect('/')
            ->withInput()
            ->withErrors($validator);
    }

    $goldenbook = new Goldenbook;
    $goldenbook->nom = $request->name;
    $goldenbook->message = $request->message;
    $goldenbook->save();

    return redirect()->back();
}
Route::resource('goldenbook', 'GoldenbookController');
这是我的表格

{!! Form::open(['url' => 'goldenbook/create']) !!}

<div class="form-group">
    {{ Form::label('name', 'Name') }}
    {{ Form::text('name', null, ['class' => 'form-control']) }}
</div>

<div class="form-group">
    {{ Form::label('message', 'Message') }}
    {{ Form::textarea('message', null, ['class' => 'form-control']) }}
</div>

{{ Form::submit('Save', null,['class' => 'btn btn-primary']) }}

{!! Form::close() !!}
有什么想法吗


提前谢谢

您在
web.php
和您的
表单
中的路由都有问题

你的
web.php
应该有
goldenbook

Route::resource('goldenbook', 'GoldenbookController');
{!! Form::open(['url' => 'goldenbook/store']) !!} 
您的表单应该有
goldenbook/store
goldenbook

Route::resource('goldenbook', 'GoldenbookController');
{!! Form::open(['url' => 'goldenbook/store']) !!} 
或者您也可以传递路线的名称

{!! Form::open(['url' => 'goldenbook.store']) !!}]
这应该能解决你的问题

如果您想知道路线的名称,并且正在使用
Laravel 5.*
您可以使用

 php artisan route:list
检查您的url是否与路由匹配


由于您的
goldenbook/create
route只接受
GET
请求,因此您使用
POST
方法的路线错误。这应该可以解决您的问题。

Route::resource('livre-dor','GoldenbookController')应该是
Route::resource('goldenbook','GoldenbookController')这是一个输入错误,在请求更多帮助之前,我尝试了一些方法,但将“livre dor”更改为goldenbook并没有改变我看到的任何东西。另一件事:
{!!Form::open(['url'=>'goldenbook/create'])!!
应该是
{!!Form::open(['url'=>'goldenbook'])!!
,因为路由控制器将自动调用
存储
函数来发布到该资源。()