АРМАДА
Геотаргетинг
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

Борис Бритва
Свой
Зарегистрирован: 16.03.2008
Сообщений: 99
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 4:47 pmДобавить в избранноеОтветить с цитатой
Хая всем.

Вопрос: как организовать на сайте показ блоков (html, php) в зависимости от города России зашедшего пользователя? Т.е. например Москве контекстную рекламу, Питерцам рекламу спонсора, кому-то адрес ближайшего офиса, а остальным .. хз, еще что-нибудь Shocked

Столкнулся с такой задачей на региональном проекте. Больно много посетителей из Мск и Питера, звонят даже и услуги купить пытаются.. Отказывать обидно, но пока приходится. Вот собственно поэтому и возникла необходимость.

PS^ Сайт не на вордпрессе.
Музяка на полную!

Борис Бритва
Свой
Зарегистрирован: 16.03.2008
Сообщений: 99
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 6:24 pmОтветить с цитатой
Что накопал к текущему моменту:

1) Определяем ip адрес пользователя:
$ip=$_SERVER['REMOTE_ADDR'];

2) Теперь можно получить содержимое документа с этого сайта http://ipgeobase.ru:
$content=file_get_contents("http://ipgeobase.ru/cgi-bin/Search.cgi?address=$ip");

А теперь надо выдрать необходимую информацию, в моем случае город. Как? Понятия не имею..

Ну и далее по списку, если город такой-то показываем юзеру одну плюху, если другой то и плюха другая.

ps^ Поеду поужинаю и обязательно вернусь к этому вопросу.
Музяка на полную!

captain Keen
Опытный
Зарегистрирован: 22.10.2008
Сообщений: 206
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 6:58 pmОтветить с цитатой
Как, как..... Учи регэкспы!

preg_match('|>Город<\/td>(.*?)<\/tr>|si', $content, $city);
$city = trim(strip_tags($city[1]));

В $city у тебя будет лежать название города.

P.S. Брать удаленный файл при помощи file_get_contents извращение.

Ffadu
aka Udaff
Зарегистрирован: 04.06.2008
Сообщений: 3315
Contest (Сумма: 1)
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 7:22 pmОтветить с цитатой
За эту ссылку тут одного чела кога то забанили вернее за упоминание
Peace Smile
VR PORN - ратио, как в 90-х

captain Keen
Опытный
Зарегистрирован: 22.10.2008
Сообщений: 206
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 8:17 pmОтветить с цитатой
Ffadu писал(а):
За эту ссылку тут одного чела кога то забанили вернее за упоминание
Peace Smile


Не знал Sad
А эта ссылка нарушает правила форума? Ежели так, модераторы - убейте, пожалуйста, мой предыдущий пост.

Борис Бритва
Свой
Зарегистрирован: 16.03.2008
Сообщений: 99
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 10:33 pmОтветить с цитатой
captain Keen писал(а):
В $city у тебя будет лежать название города.

P.S. Брать удаленный файл при помощи file_get_contents извращение.



Спасибо :thup:

Только вот на источнике кодировка вин, на сайте utf8. Если из $content сделать вывод - кракозябры. Соответственно выборка не делается. И как следствие отсутствие результата в итоге.

ps^ Не программер я, а хочу решение собрать и собираю по строчкам Shocked За дельные советы - спасибо!
Музяка на полную!

Борис Бритва
Свой
Зарегистрирован: 16.03.2008
Сообщений: 99
Обратиться по нику
# Добавлено:Ср Ноя 26, 2008 10:58 pmОтветить с цитатой
Код:
<?php
function ip_data($ip)
{
$content=iconv("windows-1251","utf-8",file_get_contents("http://ipgeobase.ru/cgi-bin/Search.cgi?address=$ip"));
preg_match('|>Город<\/td>(.*?)<\/tr>|si', $content, $city);
return $city = trim(strip_tags($city[1]));
}
$final=ip_data($_SERVER['REMOTE_ADDR']);
echo "Ваш IP: ".$_SERVER['REMOTE_ADDR']."  Город: ".$final."\n";
?>


Вот что у меня получилось. Работает.
Музяка на полную!
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры