laravel - 在 Laravel 中获取 URL 参数以验证登录控制器
问题描述
我试图得到url param
这个
http://localhost:8000/login?merchId=ABC¶m1=abc123¶m2=abc123
这些参数在重定向到我的登录页面时从另一个站点发送,并且我的项目的登录页面应该获取所有这些参数并在我的控制器中执行一些逻辑任务。
如上所述,我需要得到ff的值:
merchId, param1 and param2
在php native
,我可以简单地使用这段代码来获取这些参数
使用这个:
$merchId = $_GET['merchId'];
$param1 = $_GET['param1'];
$param2 = $_GET['param2'];
但是还有另一种方法可以做到这一点。
目前我正在使用的项目的登录名是Auth
这是我的LoginController.php,我想在其中使用并获取 url 参数并执行一些操作。
class LoginController extends Controller
{
use AuthenticatesUsers;
protected function authenticated(Request $request, User $user){
if($user->is_admin == 1){
return redirect('/admin/view/all');
}
else{
return redirect('/reseller/reservation/view');
}
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
这是我的路线
Route::get('/','HomeController@index');
Route::group(['middleware'=> ['auth']], function(){
Route::get('/reseller/reservation/view','ResellerController@reservation');
Other routes included here no need to show......
});
这是我的HomeController
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
$searched = 0;
$reseller = User::orderBy('created_at', 'desc')
->where('is_blocked', '0')
->where('is_admin', '0')
->paginate(20);
return view('pages.admin.view', compact('reseller', 'searched'));
}
public function admin(Request $req){
return view('middleware')->withMessage("Admin");
}
解决方案
从查询字符串中检索输入
虽然输入方法从整个请求负载(包括查询字符串)中检索值,但查询方法将仅从查询字符串中检索值:
$name = $request->query('name');
如果请求的查询字符串值数据不存在,则返回此方法的第二个参数:
$name = $request->query('name', 'Helen');
您可以不带任何参数调用查询方法,以便将所有查询字符串值作为关联数组检索:
$query = $request->query();
推荐阅读
- r - 用R转换ASCII码中的字符矩阵
- python - 如何在 x 处修复 NoReverseMatch?
- reactjs - 如何解析 react-i18next 中的对象列表?
- asp.net - 使用 Umbraco 重写时如何删除查询字符串
- ruby - 将整个数组重新分配给相同的引用
- javascript - 创建颜色明智的多行粒子
- javascript - 从 React 的返回方法中的数组中删除元素
- google-apps-script - replacetext 反斜杠括号不起作用
- java - 跟踪过去 15 分钟内的触摸事件数
- android - 中文设备上的 WebView 忽略强制设置的视图大小