У меня проблема с получением GET-параметров из URL.
Если у меня есть например
http://domain.tld/route?page=2
И чем в контроллере я dd данные из GET с
dd(Input::all());
Возвращение Laravel
array:1 [▼
"//route?page" => "2"]
Но должно быть
array:1 [▼
"page" => "2"]
Проблема существует на Laravel 5.1 на 5.0 там все ок.
Код маршрута
Route::get('/klub', ['as' => 'teamInfo', 'uses' => 'Game\Team\TeamController@index']);
Контроллер код
final public function index(Request $request)
{
$userTeam = UserCache::get('team');
if ($userTeam->id > 0)
return view('game.team.info')->with(['userTeam' => $userTeam]);
else {
//this is executing in my case
$proposals = Teams::proposals()->paginate(1);
return view('game.team.empty', ['teamLimits' => conf('team.php'), 'userTeam' => $userTeam, 'proposals' => $proposals]);
}
}
var_dump($_SERVER['QUERY_STRING']);
string(13) "//klub?page=2"
var_dump($_SERVER['REQUEST_URI']);
string(12) "/klub?page=2"
Что-то повреждено на любом сервере, который вы используете (NGINX или Apache?). Переменные сервера передаются в PHP от серверного движка, и PHP может анализировать только то, что ему дано.
У вас может быть плохая перезапись URL в вашем .htaccess
если вы используете Apache или NGINX, возможно, вы пересылаете значение неправильно. QUERY_STRING
должно быть page=2
,
@dboskovic проблема была в конфигурации nginx, неверная переменная передана в cgi, теперь я это исправляю и все прекрасно работает.
Большое спасибо за помощь и