Laravel 5.1 GET неверно передан ключ параметра URL в контроллер

У меня проблема с получением 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"

1

Решение

Что-то повреждено на любом сервере, который вы используете (NGINX или Apache?). Переменные сервера передаются в PHP от серверного движка, и PHP может анализировать только то, что ему дано.

У вас может быть плохая перезапись URL в вашем .htaccess если вы используете Apache или NGINX, возможно, вы пересылаете значение неправильно. QUERY_STRING должно быть page=2,

2

Другие решения

@dboskovic проблема была в конфигурации nginx, неверная переменная передана в cgi, теперь я это исправляю и все прекрасно работает.

Большое спасибо за помощь и

0

По вопросам рекламы [email protected]