我有1个视图,/lookup/{ID}
有一个显示一些信息的框。如果创建查找,则可以决定是否要使用密码保护查找。
因此,我正在检查PostController中的lookup
函数,如果数据库中的密码为空,否则我将执行return view ('password')
,然后显示密码视图,这就是我想要的它。但现在出现了棘手的部分:
如果密码正确,我显然希望用户显示信息,这就是为什么我要这样做:
if(Request::is('password')) {
if(Hash::make($request->password) == $post->password) {
return view('/lookup/' . $id);
}
}
但是当我输入密码时,密码为The POST method is not supported for this route. Supported methods: GET, HEAD.
我的密码和查找视图使用相同的功能:lookup
查找是get
路由,密码是post
路由
Route::post('/password/{id}', 'PostController@lookup');
Route::get('/lookup/{id}', 'PostController@lookup');
我在做什么错了?
答案 0 :(得分:0)
也许可以使用任何参数。
Route::any('/password/{id}', 'PostController@lookup');
示例; https://laravel.com/docs/6.x/routing
除了保护csrf令牌外,您还需要此url;编辑app \ Http \ Middleware \ VerifyCsrfToken.php中受保护的$ except除外。例子
protected $except = [
//
"/password/*"
];
答案 1 :(得分:0)
您在表单上使用哪种方法发送密码?错误的种类表明您正在发布到查找路线...这是很不错的。