在 laravel 8 形式中使用 @csrf 后 403 Forbidden
403 Forbidden after using @csrf in laravel 8 form
我是编程新手,尤其是 laravel。我正在尝试制作一个 CRUD,并且已经在前传中添加了示例数据(使用 Docker)。我可以看到数据,但是当我尝试使用表单创建新帖子时,我收到代码 419 页面已过期。我知道这很正常,解决方案是将 @csrf 添加到表单中。但是在这样做之后我得到了 403 Forbidden。我尝试了很多,但找不到修复它的解决方案。
如果有人能帮我解决我的问题,我会很高兴。
这是我的create.blade.php
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-header">{{ __('Alle Gerichte') }}</div>
<div class="card-body">
<form action = "/recipe" method="POST">
@csrf
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="beschreibung">Beschreibung</label>
<textarea class="form-control" id="beschreibung" name="beschreibung" rows="5"></textarea>
</div>
<input class="btn btn-primary mt-4" type="submit" value="absenden">
</form>
<a class="btn btn-primary btn-sm mt-3 float-right" href="/recipe"><i class="fas fa-circle-up"></i>Zurück</a>
</div>
</div>
</div>
</div>
</div>
@endsection
控制器代码将是这样的:
public function store(StoreRecipeRequest $request)
{
//dd($request);
$recipe = new Recipe( [
'name' => $request->name,
'beschreibung' => $request->beschreibung,
]);
$recipe->save();
return redirect('/recipe');
}
还有如果没有解决。那就试试吧
public function store(StoreRecipeRequest $request)
{
$recipe = new Recipe();
$recipe->name = $request->name;
$recipe->beschreibung = $request->beschreibung;
$recipe->save();
return redirect('/recipe');
}
还有,你能加入你的Recipe
模型吗?
protected $fillable = [
'name',
'beschreibung',
];
您好,您已经创建了验证规则
在 StoreRecipeRequest 中
这样做
public function authorize()
{
return true;
}
我是编程新手,尤其是 laravel。我正在尝试制作一个 CRUD,并且已经在前传中添加了示例数据(使用 Docker)。我可以看到数据,但是当我尝试使用表单创建新帖子时,我收到代码 419 页面已过期。我知道这很正常,解决方案是将 @csrf 添加到表单中。但是在这样做之后我得到了 403 Forbidden。我尝试了很多,但找不到修复它的解决方案。 如果有人能帮我解决我的问题,我会很高兴。
这是我的create.blade.php
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-header">{{ __('Alle Gerichte') }}</div>
<div class="card-body">
<form action = "/recipe" method="POST">
@csrf
<div class="form-group">
<label for="name">Name</label>
<input type="text" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="beschreibung">Beschreibung</label>
<textarea class="form-control" id="beschreibung" name="beschreibung" rows="5"></textarea>
</div>
<input class="btn btn-primary mt-4" type="submit" value="absenden">
</form>
<a class="btn btn-primary btn-sm mt-3 float-right" href="/recipe"><i class="fas fa-circle-up"></i>Zurück</a>
</div>
</div>
</div>
</div>
</div>
@endsection
控制器代码将是这样的:
public function store(StoreRecipeRequest $request)
{
//dd($request);
$recipe = new Recipe( [
'name' => $request->name,
'beschreibung' => $request->beschreibung,
]);
$recipe->save();
return redirect('/recipe');
}
还有如果没有解决。那就试试吧
public function store(StoreRecipeRequest $request)
{
$recipe = new Recipe();
$recipe->name = $request->name;
$recipe->beschreibung = $request->beschreibung;
$recipe->save();
return redirect('/recipe');
}
还有,你能加入你的Recipe
模型吗?
protected $fillable = [
'name',
'beschreibung',
];
您好,您已经创建了验证规则
在 StoreRecipeRequest 中
这样做
public function authorize()
{
return true;
}