Reputation: 2553
I am just learning laravel and I am facing one issue. I am trying to work with session but it is not working.
Middleware
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
class Adminlogin {
public function handle() {
if (!$request->session()->has('userid')) {
return view('admin.auth.login');
}
// return $next($request);
}
}
Error
ErrorException in Adminlogin.php line 10: Undefined variable: request
Upvotes: 1
Views: 436
Reputation: 13703
You should pass $request
& $next
in arguments like this:
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
class Adminlogin {
public function handle($request, Closure $next) {
if (!$request->session()->has('userid')) {
return view('admin.auth.login');
}
return $next($request);
}
}
See more about - Defining Middlewares in Laravel
Hope this helps!
Upvotes: 2
Reputation: 163768
Change it to:
public function handle($request, Closure $next) {
Also, you can simply use session()
helper in your case:
public function handle($request, Closure $next) {
return session()->has('userid') ? $next($request) : view('admin.auth.login');
}
Upvotes: 0