Vuk*_*vić 5 php session laravel-4
我遇到了Session不会持续存在的问题.
在控制器中,我有一个加载文章进行编辑的功能
public function getEdit($id)
{
try {
$news = News::findOrFail($id);
View::share('title', Lang::get('admin.editNews').": ".$news->title);
View::share('news', $news);
$this->layout->content = View::make('news.editNews');
} catch (Exception $e) {
Session::flash('message', Lang::get('admin.noSuchNews'));
Session::flash('notif', 'danger');
return Redirect::to("news");
}
}
Run Code Online (Sandbox Code Playgroud)
我还有另一个函数 - 索引,它应该显示这些flash消息.
public function getIndex()
{
var_dump(Session::get('message'));
}
Run Code Online (Sandbox Code Playgroud)
会话不是持久的.不合作Session::flash,不合作Session::put.
Session::get('message')永远都是null.
我想我应该提一下,我做了这样的应用程序路由:
Route::controller('news', 'NewsController');
Run Code Online (Sandbox Code Playgroud)
检查控制器中Session的功能设置的返回状态.确保它返回一些东西,即使它是一个简单的null.
我刚刚遇到了同样的问题,这解决了它.我能够使用以下内容:
Route::get('session', function (){
Session::put('current_user', 'Lionel Morrison');
Session::put('user_id', '12345');
var_dump(Session::all());
});
Route::get('get', function () {
var_dump(Session::all());
});
Run Code Online (Sandbox Code Playgroud)
但是当我在一个控制器中使用它时,它在我返回null之前不起作用;
public function setsession() {
Session::put('cat', 'Tom');
Session::put('mouse', 'Jerry');
return null;
}
public function getsession() {
dd(Session::all());
}
Run Code Online (Sandbox Code Playgroud)
好的,我已经解决了这个问题。
事情是,我已经把session.php这个归档了
'domain' => '.mydomain.com',
Run Code Online (Sandbox Code Playgroud)
但由于应用程序仍在本地主机中,因此即使我没有使用cookie会话驱动程序,所有会话都失败了。
当我将其更改为
'domain' => '',
Run Code Online (Sandbox Code Playgroud)
一切开始运转
| 归档时间: |
|
| 查看次数: |
8655 次 |
| 最近记录: |