Session :: put, - > with($ data),在页面刷新laravel 4之后丢失

时间:2013-12-15 11:39:13

标签: php session laravel laravel-4

你好我有一个路由,重定向到其他路由,会话参数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
)

1 个答案:

答案 0 :(得分:1)

with方法闪烁数据到会话;这意味着数据只能用于第一个请求,因此这是预期的行为。