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 :
In this article, we will see an example of carbon add months to date in laravel. Here, we will give you a simple&nb...
Dec-05-2020
In this tutorial, we will see how to get the last 15 days records in MySQL PHP. In PHP, you can use INTERVAL...
Feb-09-2022
In the ever-evolving realm of web development, I've come to realize the significance of interactivity in shaping rem...
Aug-16-2023
In this article, we will see how to get the current date and time in vue js. In vue js very simple to get the current da...
Jan-14-2022