Laravel

How to check user is login or not in Laravel

Ravindra Kumar

if you want to check the user is logged in or not, you can use the Auth facade or the auth() helper function. Here’s how you can do it:

1. Use the Auth Facade

The Auth::check() method returns true if the user is logged in, and false if the user is not logged in.


use Illuminate\Support\Facades\Auth;

if (Auth::check()) {
// User is logged in
return "User is logged in.";
} else {
// User is not logged in
return "User is not logged in.";
}

2. Use the auth() Helper

You can get the same results by using the auth() helper.


if (auth()->check()) {
// User is logged in
return "User is logged in.";
} else {
// User is not logged in
return "User is not logged in.";
}

3. In Blade Views

To conditionally check the user’s login status in Blade templates, use the following code:


@if(Auth::check())
<p>User is logged in.</p>
@else
<p>User is not logged in.</p>
@endif

Alternatively, use auth():


@if(auth()->check())
<p>User is logged in.</p>
@else
<p>User is not logged in.</p>
@endif

4. Middleware Approach

To make sure routes are only accessible to logged-in users, use Laravel’s  auth middleware. Define it in your routes:


Route::get('/dashboard', function () {
return view('dashboard');
})->middleware('auth');

For routes that should only be accessible to guests, use the guest middleware:


Route::get('/login', function () {
return view('login');
})->middleware('guest');

5. Checking the Authenticated User’s Data

If you want to get the logged-in user’s details, use the Auth::user()  or  auth()->user():


$user = Auth::user(); // or auth()->user();
if ($user) {
return "Logged-in user: " . $user->name;
} else {
return "No user is logged in.";
}

Ravindra Kumar

Ravindra is a passionate full stack developer and dedicated blogger with a flair for crafting user-friendly web applications and insightful articles. With expertise spanning front-end and back-end technologies, Ravindra brings ideas to life through innovative coding solutions.

Suggested Reading

How to Clear Cache in Laravel Without Using Artisan Commands

When working with Laravel, caching plays a key role in improving your application’s performance by storing compiled configurations, routes, views, and other data. However, during development or after making changes, you may need to clear the cache to see your latest updates. Usually, developers use Artisan commands like php artisan cache:clear or php artisan optimize:clear. […]

Upload (restore/import) a MySQL database backup via the command prompt (CLI)

To upload (restore/import) a MySQL database backup via the command prompt (CLI), you can use the mysql command-line utility. Here’s how: You must follow these requirement You must have a MySQL backup file (e.g., backup.sql) MySQL server should be installed and running You should have credentials for the MySQL user If you are working with […]

How to add new column in laravel migration without losing data

To add a new column in a Laravel migration without losing existing data, you can create a new migration file that alters the existing table. Laravel makes this easy using the php artisan make:migration command with the --table option. Step-by-Step Guide: You can generate a new migration php artisan make:migration add_column_name_to_your_table_name_table --table=your_table_name Replace column_name with […]

imagick php extension must be installed to use this driver in Laravel

It means that your Laravel app (or a package like Intervention Image, Spatie Media Library, or Laravel Snappy) is trying to use the Imagick image processing library, but it’s not installed or enabled on your server. If you’re using Ubuntu/Debian (Linux server): sudo apt-get update sudo apt-get install -y php-imagick sudo service apache2 restart # […]

Attempt to read property “id” on null in Laravel

The error message “Attempt to read property ‘id’ on null” in Laravel typically occurs when you’re trying to access the id property of an object that is null. This commonly happens when you’re expecting an object to be returned (such as a database record), but instead, null is returned. You can handle this null value […]

How to check first record in Laravel blade file

Here’s how to check the first iteration in a Blade @foreach loop: You can use Laravel’s built-in $loop variable: @foreach ($all_categories_ as $vals) <li class="nav-item" role="presentation"> <button class="nav-link p-3 border-0 text-start lh-sm w-100 rounded-0 fs-6 fw-medium {{ $loop->first ? 'active' : '' }}" id="pills-navTab{{ $vals->id }}-tab" data-bs-toggle="pill" data-bs-target="#pills-navTab{{ $vals->id }}" type="button" role="tab" aria-controls="pills-navTab{{ $vals->id }}" […]