登録中にユーザーのIPアドレスと場所を取得しようとしています...ユーザーが初めてサインアップしたときに、ユーザーテーブルのデータベースにIPアドレスと彼の場所を保存したいです。
新しいユーザーのIPアドレスと場所を取得するための解決策を教えてください...
以下は私が使用している行ですが、これによりlocalhostの間違ったIPアドレスが表示されます...
127.0.0.1
$user = new User([
'firstname' => $data['firstname'],
'lastname' => $data['lastname'],
'company' => $data['company'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
'phone' => $data['phone'],
'country' => $data['country'],
'zipcode' => $data['zipcode'],
'city' => $data['city'],
'state' => $data['state'] == "other" ? $data['custom_state'] : $data['state'],
'ip_address' => request()->ip(),
]);
これを試して、ユーザーのIPアドレスを取得します。
'ip_address' => \Request::ip();
iPアドレスを取得したら、以下のパッケージを使用してそのIPから場所を取得できます。
https://github.com/stevebauman/location
'position' = Location::get(ip_address);
Localhost IPアドレスを取得した場合、このパッケージを使用して解決します。 https://packagist.org/packages/fideloper/proxy