Session 会话不';t在Laravel 5.2中工作
我对Laravel 5.2中的会话有一个很大的问题。我的会话没有设置在某个路径中 像这样Session 会话不';t在Laravel 5.2中工作,session,laravel-5.2,Session,Laravel 5.2,我对Laravel 5.2中的会话有一个很大的问题。我的会话没有设置在某个路径中 像这样 Route::post('add','SiteController@add'); 这是我的route.php: Route::get('admin','AdminController@index'); Route::resource('admin/product','ProcuctController'); Route::resource('admin/news','NewsController');
Route::post('add','SiteController@add');
这是我的route.php
:
Route::get('admin','AdminController@index');
Route::resource('admin/product','ProcuctController');
Route::resource('admin/news','NewsController');
Route::resource('admin/category','CategoryController');
Route::get('session','SiteController@session');
Route::post('add','SiteController@add');
Route::get('/{title}','SiteController@show');
Route::group(['middleware' => ['web']], function () {
Route::get('session','SiteController@session');
Route::post('add','SiteController@add');
});
我的文件购物篮坏了。这是我的SiteController
功能
public function add(Request $request)
{
if(session::has('cart'))
{
$cart=session::get('cart');
if(array_key_exists($request->product_id,$cart))
{
$cart[$request->product_id]++;
}
else
{
$cart[$request->product_id]=1;
}
session::put('cart',$cart);
//var_dump(session::get('cart'));
print 'ok';
}
else
{
$cart=array();
$cart[$request->product_id]=1;
session::put('cart',$cart);
var_dump(session::get('cart'));
}
}
每次我单击“购买”按钮时,您的
路由器.php
中的条件都不会返回true,您将注册添加
和会话
路由两次。一个在web
中间件内部,另一个在外部。拆下外面的那个。所以你的router.php看起来像
Route::get('admin','AdminController@index');
Route::resource('admin/product','ProcuctController');
Route::resource('admin/news','NewsController');
Route::resource('admin/category','CategoryController');
Route::get('/{title}','SiteController@show');
Route::group(['middleware' => ['web']], function () {
Route::get('session','SiteController@session');
Route::post('add','SiteController@add');
});
在您的站点控制器中
将这一行添加到顶部
use session;
您使用的是什么版本的Laravel 5.2?版本5.2.27现在默认支持
web
中间件,再次声明它可能会让您头痛i change route.php和我有一个新问题`if(session::has('cart')){`never return true