我正在尝试获取其中的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");
}
答案 0 :(得分:1)
虽然输入法从整个请求有效负载(包括查询字符串)中检索值,但查询方法将仅从查询字符串中检索值:
$name = $request->query('name');
如果请求的查询字符串值数据不存在,则将返回此方法的第二个参数:
$name = $request->query('name', 'Helen');
您可以不带任何参数地调用查询方法,以便以关联数组的形式检索所有查询字符串值:
$query = $request->query();
答案 1 :(得分:0)
我想,我找到了解决方案。
在我的 login.blade.php中,
我尝试使用此代码获取url参数
if(isset($_GET['merchId'])){
$merchId = $_GET['merchId'];
}else{
$merchId = "none";
}
在我的merchId
内放一个隐藏的文本框,其中包含Form Action
的值
类似
<input type="text" name="merchId" value="<?= $merchId ?>" >
,然后在我的 LoginController.php 中,输入以下代码以显示控制器是否从login.blade.php
在protected function authenticated(Request $request, User $user)
内
return $request->all();
结果就是这样
{"_token":"2UvDCxls3WY27h8GpEJTJ8oZytfl1LmkseIU0hWY","merchId":"22","email":"keighdee@gmail.com","password":"mycrush"}
我知道这不是一个好习惯,但是如果您对这个问题有更好的答案,仍然可以随时对此问题进行回答或发表评论