Как обнаруживать страну, где ты?

Я увидел много формуляров, в которых поле страна, которая конечно является только dropdown, и мне пришла в голову мысль спрашивать их:

Как он сделан, что не необходимо выбирать страну, где ты обнаруживаешь себя, потому что уже он выбран автоматически? С чем он делается? Как?

3
задан 05.12.2016, 20:51
3 ответа

Со следующим кодом ты можешь делать это, в этом post он говорит нам:

Достаточно простой метод для обнаруживания страны (без необходимости использовать php, чтобы проверять Ваш ip) пользователя, который входит в наш Веб, он используя API wipmania посредством jQuery. Метод консультации возвращает нам одни все параметры, как они: широта, длина, масштаб, адрес, город, страна, код страны, район.

$.getJSON('http://api.wipmania.com/jsonp?callback=?', function (data) {
    document.getElementById("pais").value = data.address.country;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
</head>

<body>

<form action="">
  Tu pais:  <input type="text" id="pais" name="">  <input type="submit">
</form>

</body>
</html>
2
ответ дан 24.11.2019, 12:16
  • 1
    Хороший ответ. Но пользователь recié n editó вопрос осветляя, что está используя PHP. И этот же самый ресурс может консультироваться с PHP. –  Mariano 05.12.2016, 01:36
  • 2
    @Mariano Восток ресурс может использоваться рядом с PHP –  eyllanesc 05.12.2016, 01:37

Чтобы получать город пользователя ты можешь загружаться:

Также он будет должен загружать этот файл:

и размещать это в том же каталоге, что и Ваш файл php.

Быстрый пример был бы:

<?php

    include("geoipcity.inc");
    function ipAddress(){
        if (!empty($_SERVER['HTTP_CLIENT_IP'])){ //Comprobar ip desde Internet compartido.
            $ip=$_SERVER['HTTP_CLIENT_IP'];
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ // proxy pass ip
            $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
        } else {
            $ip=$_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }
    $gi = geoip_open("GeoIPCity.dat",GEOIP_STANDARD);
    $record = geoip_record_by_addr($gi,ipAddress());
    print $record->country_code . " " . $record->country_code3 . " " . $record->country_name . "\n";
    geoip_close($gi);

?>

Исходный код: https://stackoverflow.com / questions / 16702162/php-geo-ip-loc-does-not-work

1
ответ дан 24.11.2019, 12:16

Обрежь использовать HTML5 Geolocation и немного языка сценариев JavaScript. Я, если я помещаю localization, добавляю карту, но уже завись от твоего вкуса и необходимости.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <div>
        <p>
            Latitud:
            <span id="latitud"></span><br/>
            Longitud:
            <span id="longitud"></span>
        </p>
    </div>
    <script>
        window.onload = function() {      
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function(position) {
                    document.getElementById("latitud").innerHTML = position.coords.latitude;
                    document.getElementById("longitud").innerHTML = position.coords.longitude;
                }, function(error) {
                    alert("Código de error: " + error.code);
                    // error.code can be:
                    //   0: unknown error
                    //   1: permission denied
                    //   2: position unavailable (error response from locaton provider)
                    //   3: timed out
                });
            }
        };
    </script>   
</body>
</html>
1
ответ дан 24.11.2019, 12:16
  • 1
    привет @Mariano Ok. уже добавил пример. Большое спасибо –  josego 05.12.2016, 03:52
  • 2
    И мне дается имя paí s, в котором находится пользователь? –  luis 05.12.2016, 05:35
  • 3
    @luis не. дай ты координаты, широту и длину. Podrí схвати с этой informació n размещать, в котором paí s он находится и до того, чтобы показывать в карте. Уже завись тебя. –  josego 05.12.2016, 13:39

Теги

Похожие вопросы