我想从这个控制器函数重定向2个不同的页面以及value.Here是我的代码。它有效,但两个时间网址都变得相同。我做了什么?
//in routes.php
Route::post('/','mycontroller@check');
// in controller.php
public function check(Request $request)
{
$c_email = $request->email;
$c_pass=$request->pass;
$c_type=$request->select;
$var=DB::select("SELECT * FROM reg where email = '$c_email' and Password = '$c_pass' and type = '$c_type'");
if ($var) {
return view('farmer')->with('user',$var);
// return redirect('farmer')->with('user',$var);
}
else {
$msg="Invalid login";
return view('index')->with('show',$msg);
}
}
答案 0 :(得分:0)
如果您想要实际重定向,可以在官方文档中使用redirect()帮助器作为statet https://laravel.com/docs/5.3/redirects
您也可以传递数据
redirect('/my-route')->with(['user' => $var]);
然后可以通过会话助手访问传递的数据
$var = session('user')
但是,您的代码中似乎存在重大问题。您的密码似乎没有加密。此外,没有理由在这里使用普通的sql而不是eloquent。
浏览器中显示的路线在
中定义Route::post('/','mycontroller@check');
如果您只是返回不同的视图,则路线不会改变。您需要重定向到其他视图。
如果您重定向到其他路线,您将需要添加/定义它们。
Route::get('/my-route', function() {}); // or post etc.