如何在laravel 5.2中重定向来自同一控制器功能的不同页面

时间:2016-12-16 19:27:28

标签: php laravel-5.2

我想从这个控制器函数重定向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);

   }
 }

1 个答案:

答案 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.