ある期間、ユーザーが自分のサイトに何回アクセスしたかを数えるミドルウェアを作成しようとしています。私は私のミドルウェアでlaravelセッションを使用しようとしました。ここに私のコードは次のとおりです。セッションがミドルウェアで動作していませんlaravel 5.2
私のアプリでclass SessionHandler {
public function handle($request, Closure $next){
if(!Session::has('count')){
Session::set('count', 1);
Session::save();
}else{
$numOfVisits = Session::get('count');
$numOfVisits++;
Session::set('count', $numOfVisits);
Session::save();
}
dd(Session::get('count'));
}
}
\のHttp \ kernel.php私はSessionStartミドルウェア後にミドルウェアを追加しました:
protected $middleware = [
....
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
....
\Dideo\Http\Middleware\SessionHandler::class,
];
が、私は、私は応答が1で取得ページを更新するたびにセッションが設定されていないことを意味します。
laravelミドルウェアでセッションを処理するにはどうすればよいですか?
[EDIT]
私はこの問題はEncryptCookieミドルウェアであることがわかりました。私のセッションドライバはデータベースで、ページを更新するたびにレコードがセッションテーブルに追加されます。
EncryptCookieミドルウェアを無効にすると、この問題は解決されます。
それを行うだろう:: =( 'count')) '(値が '1'でインスタンス化されていない場合は –
が解決されましたが、同じ問題が残っています – Alireza