Last active
October 5, 2016 21:09
-
-
Save max-kk/a63fb03e4522a6a90d87 to your computer and use it in GitHub Desktop.
How to get user city with PHP + AJAX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- ФАЙЛ должен быть .php --> | |
<!-- // Для начала подключим бибилиотку jQuery и jQuery cookie для сохранения города в Cookie --> | |
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script> | |
<script src="http://yandex.st/jquery/cookie/1.0/jquery.cookie.min.js"></script> | |
<?php | |
// Тперь получим ip посетителя и создадим переменую, | |
// что-бы скрипт мог ее использовать | |
if (isset($_SERVER['HTTP_X_REAL_IP'])) { | |
$ip = $_SERVER['HTTP_X_REAL_IP']; | |
} else { | |
$ip = $_SERVER['REMOTE_ADDR']; | |
} | |
?> | |
<script> | |
var user_ip = "<?php echo $ip ?>"; | |
</script> | |
<!-- // Теперь нужно подключить сам скрипт, но мы этого не будет делать, | |
и для примера пропишем код прямо здесь --> | |
<!-- <script src="js/script.js"></script> --> | |
<script> | |
// Проверим куку | |
if (!$.cookie('city') && user_ip) { | |
// Если нет, делаем запрос | |
jQuery.get( | |
"http://api.sypexgeo.net/json/" + user_ip, | |
[], | |
function(data) { | |
//console.log(data); | |
// Запомним в куках город пользователя | |
$.cookie('city', data.city.name_ru, { | |
expires: 30, | |
path: '/' | |
}); | |
// Передадим его в функцию, которая что-то сделает с ним | |
show_user_city(data.city.name_ru); | |
}, | |
'json' | |
) | |
} else { | |
// Город есть в куках, передадим его в функцию, которая что-то сделает с ним | |
show_user_city ( $.cookie('city') ); | |
} | |
function show_user_city (city_name) { | |
// Для примера выведем город в консоль | |
console.log(city_name); | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment