你好我有一个路由,重定向到其他路由,会话参数params data = true,uid = $ id
另一条路线获取它并显示一个Response :: make / Response :: view。 视图显示,但如果我用F5重新加载页面,会话数据丢失(路由没有得到它)。
Route::get('/something', array('as'=>'activation',function()
{
return Redirect::route('firstpass')
->with(array('data'=>true,'uid'=>100));
})
);
Route::get('/something2',array('as'=>'firstpass',function()
{
if(Session::get("data")==true)
{
$uid=Session::get('uid');
return App::make('HomeController')->somePage($uid);
}
else return Redirect::to('/');
}
));
控制器:
public function somePage()
{
$params=array(
'title'=>trans('welcome.welcome'),
'lang'=>$lang=Config::get('app.locale')
);
$view = View::make('firstpass',$params)->with(array('data'=>true,'uid'=>10));
return $view;//
Response::view('firstpass',$params);//->with(array('data'=>true,'uid'=>10));
}
我不知道为什么简单的重载路由无法获取:Session :: get('data')== true并将我重定向到/.
但如果在控制器中我写 死亡(的print_r(会话:全部())); 我总是(即使刷新后):
Array
(
[_token] => 6n6qb2vTxuunraTKVXvfrBsJ1mCddOZkgwb
[flash] => Array
(
[old] => Array
(
[0] => data
[1] => uid
)
[new] => Array
(
)
)
[data] => 1
[uid] => 100
)
我认为原因是内部返回值,我尝试了Response :: make,Response :: view,返回View ::,但这项工作没什么,我做错了什么?
该会话中的问题可能是/ app / storage / session
中的本机驱动程序存储数据它创建了文件,但每个请求中的数据都是空的 _sf2_attributes |一个:2:{S:6: “_标记”; S:40: “XCJlvuFO2RCpKZYiW0Amm23DP5jwsmcC1Uq9vIS7B”; S:5: “闪”;一个:2:{S:3: “新”;一个:0:{} S:3: “旧”;一个:0:{}}} _ sf2_flashes |一个:0:{} _ sf2_meta |一个:3:{S:1: “U”; I:1387124689; S:1: “c” 的; I:1387123303; S:1: “L”; S:4: “7200”;}
即使我添加视图 {{会话::把( '数据',真)}} {{会话::把( 'UID',10)}} 在print_r(Session :: all())
之后Array
(
[_token] => EbF7RexCI97QM3jFUilWZsNIMiqyhdAcRcXUY8kB
[flash] => Array
(
[new] => Array
(
)
[old] => Array
(
[0] => data
[1] => uid
)
)
[data] => 1
[uid] => 10
)
答案 0 :(得分:1)
with
方法闪烁数据到会话;这意味着数据只能用于第一个请求,因此这是预期的行为。