【发布时间】:2020-05-20 14:00:06
【问题描述】:
我现在正在学习搜索,它使用 get 方法作为它的形式。所以,我尝试将方法更改为post,但是当我尝试时,它显示页面已过期。谁能告诉我为什么?这是我的代码。
Master.blade.php
<form class="form-inline my-2 my-lg-0" method="post" action="/main/successlogin">
<input name="cari" class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
web.php
Route::post('/main/successlogin', 'MainController@successlogin');
MainController.php
function successlogin(Request $request){
if($request->has('cari')){
$data_barang=\App\barang::where('namaBarang','LIKE','%'.$request->cari.'%')->get();
}
else{
$data_barang = \App\barang::all();
}
return view('halamanUtama', ['data_barang' => $data_barang]);
}
【问题讨论】:
-
您必须在表单中添加csrf token field。
-
我可以推荐
laravelcollective/html包,它有一个Form::open(...)自动处理csrf 令牌的方法。还有许多其他方便的功能,例如输入预填充