Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отображение инфо, исходя из страны юзера, автоопределение страны 
:(
    Опции темы
Johny_03
Дата 3.9.2014, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.3.2008

Репутация: нет
Всего: нет



Добрый день!
Имеется сайт, который ориентирован на две страны. Задача в том, чтобы в разделе КОНТАКТЫ отображался ТОЛЬКО номер телефона той страны, из которой вошел на сайт пользователь. Т.е. чтобы было автоопределение страны, с которой зашел человек. Как это реализовать? Отображать сразу два номера разных стран нельзя по определенным соображениям. Дублировать сайт тоже, т.к. в рекламе одинаковый адрес сайта.
Заранее спасибо!
PM MAIL   Вверх
s0lman
Дата 3.9.2014, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29





--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
Aliance
Дата 4.9.2014, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



А язык, на котором написан весь контент - одинаковый что ли?
PM MAIL WWW ICQ Skype   Вверх
s0lman
Дата 4.9.2014, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Цитата(Aliance @  4.9.2014,  08:11 Найти цитируемый пост)
А язык, на котором написан весь контент - одинаковый что ли? 

Как вариант, на русском можно смело писать контент для нескольких стран


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
ksnk
Дата 4.9.2014, 09:35 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



http://ipinfodb.com/ip_location_api.php
по этой ссылке можно организовать геолокацию на Javascript. Если приложению достаточно просто скрывать-показывать какие-то блоки - довольно удачное и простое решение. Чтобы не бомбить их сервер очень часто - можно сохранять результат в куках. 
Есть примеры для разных языков.

https://www.maxmind.com/ru/geolocation_landing
Геолокация по взрослому, с городами. Хотя тоже есть несложная javascript приблуда.

В принципе, достаточно несложное решение - с maxmind берется база городов и вручную пишется несложный сервис сканирования города по базе. При желании можно нагуглить уже готовые решения.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
ksnk
Дата 4.9.2014, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



А про язык - можно смотреть на заголовок HTTP_ACCEPT_LANGUAGE


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Johny_03
Дата 5.9.2014, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.3.2008

Репутация: нет
Всего: нет



Вот собрал код, но он почему-то не работает, пишет ошибку 4-ой строки ($geoip = geoip_open("gip/geolitecity.dat", GEOIP_STANDARD);):
Код

     <?php

include("gip/geoip.inc");
include("gip/geoipcity.inc");
$ip = $_SERVER['REMOTE_ADDR'];
$geoip = geoip_open("gip/geolitecity.dat", GEOIP_STANDARD);
$geodata = GeoIP_record_by_addr($geoip, $ip);
geoip_close($geoip);
$geodata = array($geodata);
$code = strtolower($geodata['country_code']);
switch ($code) {
    case "ru":
        header("Location:http://site.com/ru/");
        break;
    case "ua":
        header("Location:http://site.com/ua/");
        break;
}

?>



Это сообщение отредактировал(а) Johny_03 - 5.9.2014, 00:36
PM MAIL   Вверх
ksnk
Дата 5.9.2014, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Так и пишет "ошибка 4-й строки" или сообщение какое-то другое?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Aliance
Дата 5.9.2014, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Ошибка видимо из-за неизвестной функции geoip_open. А она не известна видимо потому, что файл не подключился, скорее всего из-за неправильно указанного пути.

У вас на первой строчке есть отступ (tab?), из-за этого может быть популярная ошибка (headers already send). Далее, закрывающий тег ?> не обязателен, если файл содержит только код php.
PM MAIL WWW ICQ Skype   Вверх
Johny_03
Дата 5.9.2014, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.3.2008

Репутация: нет
Всего: нет



Ошибка была в адресе, это я исправил. Теперь выдает все-равно Fatal error: Call to undefined function geoip_open()
Как подключать такую функцию?

Позже попробовал разместить папку "gip" в корне, где index.php, в коде поменял адреса на geoip.inc geoipcity.inc geolitecity.dat
Теперь ошибку не выдает, но и скрипт тоже не работает, не делает редирект. Сайт просто открывается как и раньше, без скрипта.
В чем можно еще посмотреть?

Это сообщение отредактировал(а) Johny_03 - 5.9.2014, 13:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.