Hello developers! In this article, we'll see how to get user location using an IP address in laravel 11. Here, we'll learn about based on IP address get the user's current location in laravel 11. Also, we'll use stevebauman/location composer package.
This package retrieves a visitor's location from their IP address using various services. You will get country name, country code, region code, region name, city name, ZIP code, latitude, and longitude from the IP address.
In this step, we'll install the laravel 11 application using the composer command.
composer create-project --prefer-dist laravel/laravel get_location_laravel_11
Then, we'll install stevebauman/location composer package using the following command.
composer require stevebauman/location
Now, we'll define routes into the web.php file.
routes/web.php
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\UserController;
Route::get('ip_details', [UserController::class,'ip_details']);
Next, we'll create a controller and get the user location using $request->ip() function.
app\Http\Controllers\UserController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Stevebauman\Location\Facades\Location;
use Illuminate\View\View;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request): View
{
$ip = '103.239.147.187'; // Static IP
// $ip = $request->ip() //Dynamic IP address
$data = Location::get($ip);
return view('details', compact('data'));
}
}
Then, we'll create details.blade.php file.
resources/views/details.blade.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Get User Location using IP Address in Laravel 11 - techsolutionstuff.com</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="card mt-5">
<h3 class="card-header p-3">Get User Location using IP Address in Laravel 11 - techsolutionstuff.com</h3>
<div class="card-body">
@if($currentUserInfo)
<p><strong>IP:</strong> {{ $currentUserInfo->ip }}</p>
<p><strong>Country Name:</strong> {{ $currentUserInfo->countryName }}</p>
<p><strong>Country Code:</strong> {{ $currentUserInfo->countryCode }}</p>
<p><strong>Region Code:</strong> {{ $currentUserInfo->regionCode }}</p>
<p><strong>Region Name:</strong> {{ $currentUserInfo->regionName }}</p>
<p><strong>City Name:</strong> {{ $currentUserInfo->cityName }}</p>
<p><strong>Zip Code:</strong> {{ $currentUserInfo->zipCode }}</p>
<p><strong>Latitude:</strong> {{ $currentUserInfo->latitude }}</p>
<p><strong>Longitude:</strong> {{ $currentUserInfo->longitude }}</p>
@endif
</div>
</div>
</div>
</body>
</html>
Now, we'll run the laravel 11 application using the following command.
php artisan serve
You might also like :
As a developer who has been deeply immersed in the Laravel ecosystem, I've come to appreciate the power and flexibil...
Oct-30-2023
In this article, we will see how to validate password and confirm password in react js. Sometimes we need to add th...
Sep-14-2022
In today's world of web development, being able to upload images with a preview feature is a common requirement for...
Jun-16-2023
In this article, we will see how to generate an RSS feed in laravel 9. Here, we will generate an RSS feed in larave...
Dec-12-2022