laravel - Session store not set on request. after php artisan make:auth

4 浏览
0 Comments

laravel - Session store not set on request. after php artisan make:auth

大家好,我正在创建一个销售数字产品的电子商务网站。这是我第一个Laravel应用程序。最初,我无法加载登录或注册页面,直到运行php artisan make:auth,这样就创建了一堆视图并编辑了我的路由文件。现在我可以看到注册表单,但是提交后出现“请求未设置会话存储”的错误。我查看了这个问题,但是在添加了我的身份验证路由之后,我仍然出现“请求未设置会话存储”的错误。以下是文件内容:\n

 'item.store', 'uses' => 'ItemController@store']);
Route::resource('item', 'ItemController');
Route::group(['middleware' => ['web']], function(){
    Route::get('/register', 'Auth\AuthController@getRegister');
    Route::post('/register', 'Auth\AuthController@postRegister');
    Route::auth();
    Route::get('/checkout', function() {
        return view('cart.checkout');
    });
    Route::get('/home', 'HomeController@index');
    Route::post('/item', 'ItemController@store');
    Route::get('/item', 'ItemController@index');
    Route::get('/item/{id}', 'ItemController@show');
    Route::get('/addItem/{productID}', 'CartController@addItem');
    Route::get('/removeItem/{productID}', 'CartController@removeItem');
});         
//Route
    Route::post('/create_payment', function(){
// 设置您的密钥:在生产中请记得将其更改为您的实际密钥
// 在此处查看您的密钥 https://dashboard.stripe.com/account/apikeys
        \Stripe\Stripe::setApiKey("sk_test_VVSBY8xjNklioi7V0yFVfx6Q");
        $receiver = \Stripe\BitcoinReceiver::create(array(
            "amount" => 1000,    // 以美分为单位的金额
            "currency" => "usd", // 目前只能是美元
            "email" => "payinguser+fill_now@example.com"
        ));
        $charge = \Stripe\Charge::create(array(
            "amount" => $receiver->amount,
            "currency" => $receiver->currency,
            "source" => $receiver->id,
            "description" => "Example charge"
        ));
        Route::controllers([
            'auth' => 'Auth\AuthController',
            'password' => 'Auth\PasswordController'
        ]);
    });
    Route::get('/logout', 'Auth\AuthController@getLogout');
// 注册路由...
Route::get('/home', 'HomeController@index');

\n非常感谢任何帮助!

0
0 Comments

在运行php artisan make:auth命令后,laravel报错提示"Session store not set on request.",这个问题的原因是在UserController控制器中的getLogin函数中返回了一个视图,但没有设置session store。

要解决这个问题,我们需要在getLogin函数中使用session()函数来设置session store。具体的解决方法如下:

public function getLogin(){
   return view('login')->with(session('store', 'default'));
}

在getLogin函数中,使用session()函数来设置session store。通过with()方法将session store的值设置为"default"。

这样,当我们访问/login路由时,laravel将会正确地设置session store,从而避免了"Session store not set on request."的错误提示。

0