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 laravel 9 pluck method example. The pluck method retrieves all of the v...
Jul-20-2022
In this article, we'll learn how to resolve the "419 page expired" error in Laravel. You might have encoun...
Jun-28-2020
In this example we will see how to generate QR Code in Node.js application. In this example we will use qrcode npm...
Sep-20-2021
In this article, we will see examples of carbon add hours in laravel 8. Carbon provides many functions like ad...
Dec-09-2020