| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > отображение инфо, исходя из страны юзера |
| Автор: Johny_03 3.9.2014, 14:52 |
| Добрый день! Имеется сайт, который ориентирован на две страны. Задача в том, чтобы в разделе КОНТАКТЫ отображался ТОЛЬКО номер телефона той страны, из которой вошел на сайт пользователь. Т.е. чтобы было автоопределение страны, с которой зашел человек. Как это реализовать? Отображать сразу два номера разных стран нельзя по определенным соображениям. Дублировать сайт тоже, т.к. в рекламе одинаковый адрес сайта. Заранее спасибо! |
| Автор: s0lman 3.9.2014, 15:26 |
| http://php.net/manual/ru/book.geoip.php |
| Автор: Aliance 4.9.2014, 09:11 |
| А язык, на котором написан весь контент - одинаковый что ли? |
| Автор: s0lman 4.9.2014, 09:28 |
Как вариант, на русском можно смело писать контент для нескольких стран |
| Автор: ksnk 4.9.2014, 09:35 |
| http://ipinfodb.com/ip_location_api.php по этой ссылке можно организовать геолокацию на Javascript. Если приложению достаточно просто скрывать-показывать какие-то блоки - довольно удачное и простое решение. Чтобы не бомбить их сервер очень часто - можно сохранять результат в куках. Есть примеры для разных языков. https://www.maxmind.com/ru/geolocation_landing Геолокация по взрослому, с городами. Хотя тоже есть несложная javascript приблуда. В принципе, достаточно несложное решение - с maxmind берется база городов и вручную пишется несложный сервис сканирования города по базе. При желании можно нагуглить уже готовые решения. |
| Автор: ksnk 4.9.2014, 10:01 |
| А про язык - можно смотреть на заголовок HTTP_ACCEPT_LANGUAGE |
| Автор: Johny_03 5.9.2014, 00:34 | ||
Вот собрал код, но он почему-то не работает, пишет ошибку 4-ой строки ($geoip = geoip_open("gip/geolitecity.dat", GEOIP_STANDARD);):
|
| Автор: ksnk 5.9.2014, 07:06 |
| Так и пишет "ошибка 4-й строки" или сообщение какое-то другое? |
| Автор: Aliance 5.9.2014, 07:37 |
| Ошибка видимо из-за неизвестной функции geoip_open. А она не известна видимо потому, что файл не подключился, скорее всего из-за неправильно указанного пути. У вас на первой строчке есть отступ (tab?), из-за этого может быть популярная ошибка (headers already send). Далее, закрывающий тег ?> не обязателен, если файл содержит только код php. |
| Автор: Johny_03 5.9.2014, 13:00 |
| Ошибка была в адресе, это я исправил. Теперь выдает все-равно Fatal error: Call to undefined function geoip_open() Как подключать такую функцию? Позже попробовал разместить папку "gip" в корне, где index.php, в коде поменял адреса на geoip.inc geoipcity.inc geolitecity.dat Теперь ошибку не выдает, но и скрипт тоже не работает, не делает редирект. Сайт просто открывается как и раньше, без скрипта. В чем можно еще посмотреть? |