Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Для каждой страны разный текст

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): [1] 2 3 4 »   

> Без описания
Алексеей
Отправлено: 29 Января, 2012 - 21:16:07
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Всем привет, ребята покажите пожалуйста скрипт, например если страна пользователя RU то определенный текст.
например:

Если с России то:
Вы с России

Если с Америки то:
You're from America

и .т.п
 
 Top
LIME
Отправлено: 29 Января, 2012 - 21:24:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
Алексеей
Отправлено: 29 Января, 2012 - 21:50:36
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




LIME, это совсем другое, мне нужно сделать на том странице где я хочу, просто скрипт который выведет текст по id страны (или как это называется ?) )) если посетитель с России то определенный текст, если с Украины то определенный текст, даже не знаю как сказать чтобы меня поняли с первого раза.. просто это очень важно..
 
 Top
Panoptik
Отправлено: 29 Января, 2012 - 21:54:24
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




тут проблема не как вывести, а как определить место нахождения пользователя. стандартный способ по IP. Есть службы геоАйПи, с базами айпи адресов и их городов/стран или завести себе такую базу, что довольно проблематично. вобщем если решите этот вопрос, то остальное не проблема.

ну и есть еще вариантик, определять место нахождения пользователя, по его данным при регистрации, если это для авторизированных пользователей


-----
Just do it
 
 Top
Алексеей
Отправлено: 29 Января, 2012 - 22:06:45
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




Нет, мне нужно только посетителям, а точнее на моем сайте регистрация не возможна, она и не нужна.. Я где то видел такое, по моему в руселлере, но не нахожу Огорчение
(Добавление)
ребята, нашел вот это:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // список языков
  3. $sites = array(
  4.     "en" => "http://en.mysite.com/",
  5.     "es" => "http://es.mysite.com/",
  6.         "fr" => "http://fr.mysite.com/",
  7. );
  8.  
  9. // получаем язык
  10. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  11.  
  12. // проверяем язык
  13. if (!in_array($lang, array_keys($sites))){
  14.     $lang = 'en';
  15. }
  16. // перенаправление на субдомен
  17. header('Location: ' . $sites[$lang]);
  18.  
  19. ?>

но он очень загружает сайт, быть может с этим скриптом можно сделать то что я хочу ? чтобы не направляло куда то, а чтобы на странице писалось текст... если ru то - "Вы в России" и т.п.
 
 Top
etoYA
Отправлено: 30 Января, 2012 - 04:56:52
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Алексеей, это как бы не определяет страну, а лишь язык.. У пользователя может быть язык к примеру английский, а он из франции...

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $sites = array(
  4.     "en" => "You're from America",
  5.     "es" => "їEres de Espaсa",
  6.     "fr" => "vous кtes de France",
  7.     "ru" => "Ты из России",
  8. );
  9. $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
  10. echo $sites[$lang];
  11. ?>
  12.  

(Отредактировано автором: 30 Января, 2012 - 05:08:25)

 
 Top
Zuldek
Отправлено: 30 Января, 2012 - 07:59:38
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. function getCountry($ip)
  2. <?
  3. {
  4.    $from=array();
  5.    $f = file_get_contents("http://api.hostip.info/?ip=".$ip);
  6.    preg_match("@<countryName>(.*?)</countryName>@si", $f, $country);
  7.    $from['country'] = $country[1];
  8. }
  9. $reselt = getCountry('195.118.144.112');
  10. echo "Название страны посетителя ".getCountry['country']."<br />";
  11. ?>
  12.  

(Отредактировано автором: 30 Января, 2012 - 08:00:09)

 
 Top
Алексеей
Отправлено: 31 Января, 2012 - 20:14:00
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




etoYA, жаль, мне нужно чтобы как в гугле определяло
Zuldek, не работает Огорчение вот результат:

Цитата:
Parse error: syntax error, unexpected '[', expecting ',' or ';' in /home/u513235356/public_html/hos tipapi.php on line 10

В чем может быть проблема ?
(Добавление)
Zuldek, и создал я один новый файл, и скопировав вставил в файл ваш код, и вот результат.. Огорчение
 
 Top
illy
Отправлено: 31 Января, 2012 - 22:00:32
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown'))
  3. $ip=getenv('HTTP_CLIENT_IP');
  4. elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown'))
  5. $ip=getenv('HTTP_X_FORWARDED_FOR');
  6. elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv("REMOTE_ADDR"), 'unknown'))
  7. $ip=getenv('REMOTE_ADDR');
  8. elseif(!empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown'))
  9. $ip=$_SERVER['REMOTE_ADDR'];
  10. else{echo 'ip wrong'; exit;}
  11.  
  12. $f=file_get_contents("http://api.hostip.info/?ip=".$ip);
  13. preg_match("@<countryName>(.*?)</countryName>@si", $f,$country);
  14. echo "Вы из ".$country[1]."<br />";
  15. ?>


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
Алексеей
Отправлено: 01 Февраля, 2012 - 14:06:45
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




illy, спасибо, теперь работает, но есть большое Но, я нахожусь в Россие, а там показывает что я в Швейцарии Закатив глазки это как понять ? если из за браузера, или же из за ip, то как тогда в гугле определяет страну точно, например зайдите на google.com, а там внизу показывает гугл вашего региона, а я это проверял, например был я в Турции, показывал Google Турция, и когда я был в Казахстане, показывал Google Казахстан, и с германием (Германия) тоже самое, я понимаю что гугл это уже лучше, и мне до него наверное долеко, но неужели это не исправимо ? Огорчение
 
 Top
snikers987
Отправлено: 01 Февраля, 2012 - 14:36:41
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




Zuldek пишет:
CODE (htmlphp):
скопировать код в буфер обмена
  1. function getCountry($ip)
  2. <?
  3. {
  4.    $from=array();
  5.    $f = file_get_contents("http://api.hostip.info/?ip=".$ip);
  6.    preg_match("@<countryName>(.*?)</countryName>@si", $f, $country);
  7.    $from['country'] = $country[1];
  8. }
  9. $reselt = getCountry('195.118.144.112');
  10. echo "Название страны посетителя ".getCountry['country']."<br />";
  11. ?>
  12.  

Не понял


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 01 Февраля, 2012 - 16:34:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. function geo_info($ip)
  3. {
  4.  
  5.     $data = "<ipquery><fields><all/></fields><ip-list><ip>".$ip."</ip></ip-list></ipquery>";
  6.     $ch = curl_init();
  7.     curl_setopt($ch, CURLOPT_URL, "http://194.85.91.253:8090/geo/geo.html");
  8.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  9.     curl_setopt($ch, CURLOPT_HEADER, false);
  10.     curl_setopt($ch, CURLOPT_POST, 1);
  11.     curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  12.  
  13.     $xml = curl_exec($ch);
  14.     curl_close($ch);
  15.  
  16.     $messge="!<message>(.*?)</message>!si";
  17.     preg_match($messge, $xml, $main_ar["message"]);
  18.  
  19.     if($main_ar["message"][1] != "Not found")
  20.    {
  21.       $district = "!<district>(.*?)</district>!si";
  22.       $region = "!<region>(.*?)</region>!si";
  23.       $town = "!<city>(.*?)</city>!si";
  24.  
  25.       preg_match($district, $xml, $main_ar["district"]);
  26.       preg_match($region, $xml, $main_ar["region"]);
  27.       preg_match($town, $xml, $main_ar["city"]);
  28.  
  29.       $ArMain = array(
  30.            "FIND" => 1,
  31.            "DISTRICT" => $main_ar["district"][1],
  32.            "REGION" => $main_ar["region"][1],
  33.            "TOWN" => $main_ar["city"][1]
  34.            );
  35.  
  36.       return $ArMain;    
  37.  
  38.      }
  39.      else
  40.      {
  41.      return array("FIND" => 0);    
  42.      }
  43.  
  44. }
  45.  
  46.  
  47.  
  48. print_r(geo_info($_SERVER['REMOTE_ADDR']));
  49.  

(Отредактировано автором: 01 Февраля, 2012 - 17:00:25)

 
 Top
Алексеей
Отправлено: 01 Февраля, 2012 - 16:59:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




armancho7777777, O_o а это что ? там у меня большими шрифтами пишет:
Цитата:
Array ( [FIND] => 1 [DISTRICT] => [REGION] => [TOWN] => )

блин неужели это неисправимо Огорчение
 
 Top
armancho7777777 Супермодератор
Отправлено: 01 Февраля, 2012 - 17:01:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Вы где код тестируете?
 
 Top
Алексеей
Отправлено: 01 Февраля, 2012 - 17:05:58
Post Id


Посетитель


Покинул форум
Сообщений всего: 278
Дата рег-ции: Дек. 2011  


Помог: 2 раз(а)




armancho7777777, в hostinger.ru, в ftp создал новый php файл и вставил ваш скрипт, вот и результат...

(Отредактировано автором: 01 Февраля, 2012 - 17:07:13)

 
 Top
Страниц (4): [1] 2 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB