发布数据无法正常工作Laravel

时间:2016-03-28 02:24:43

标签: php laravel laravel-5.1

我有一个如下所示的路线,它将根据网址中的数据显示个人资料:

Route::get('/{region}/{summonername}', function () {
    return 'Summoner Profile';
});

我在主页上有一个表单,其中包含一个输入框和区域选择器。我将此数据发布到:

Route::post('/summoner/data');

问题是我不知道如何转换表单数据,例如。召唤者姓名和地区为网址格式,用户将与个人资料页面一起显示,网址为/ {region} / {summonername}。我应该在我的控制器内使用Redirect ::吗?我觉得这是一种糟糕的做法。有什么建议吗?

现在,当我发布数据时,网址会显示为' /召唤者/数据'。

我希望这是有道理的,如果你需要更多澄清,请告诉我。

3 个答案:

答案 0 :(得分:1)

是的,您需要重定向:

Route::post('/summoner/data', function (Request $request) {
    return redirect()->url($request->region .'/'. $request->summonername);
});

答案 1 :(得分:1)

路线:

Route::post('/summoner/data','ControllerName@FunctionName');

Route::get('/{region}/{summonername}', function () {
return view('SummonerProfile');
});

控制器:

public function FunctionName()
{
 $SummonerName = Input::get('SummonerName');
 $Region = Input::get('Region');
 return Redirect::to('/{$Region}/{$SummonerName}');
}

希望这会奏效。试试吧!

使用路线:

Route::post('/summoner/data',function () {
 $SummonerName = Input::get('SummonerName');
 $Region = Input::get('Region');
 return Redirect::to('/{'.$Region.'}/{'.$SummonerName.'}'); 
});

Route::get('/{region}/{summonername}', function () {
return view('SummonerProfile');
});

答案 2 :(得分:0)

如果您想从URL获取数据,请执行以下操作

use Illuminate\Http\Request;
Route::post('/summoner/data', function (Request $request) {
    echo $request->segment(1); // gives summoner
    echo $request->segment(2); // gives data
});