Проблема в
elseif(!isset($_GET['lang']) and isset($_GET['p'])){+кривые руки
echo"<script type=\"text/javascript\">
document.location.href = \"/?p=".$_GET['p']."&lang=".$strana."\";
</script>";
}
Именно эта часть не работает. Подскажите почему?
весь код
function getCountryByIp()
{
$ipDetail=array();
$f = file_get_contents("http://api.hostip.info/?ip=".$ipAddress);
//Получаем название города
preg_match("@<Hostip>(\s)*<gml:name>(.*?)</gml:name>@si", $f, $city);
$ipDetail['city'] = $city[2];
//Получаем название страны
preg_match("@<countryName>(.*?)</countryName>@si", $f, $country);
$ipDetail['country'] = $country[1];
//Получаем код страны
preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si", $f, $countryCode);
$ipDetail['countryCode'] = $countryCode[1];
return $ipDetail;
}
$ipDetail = getCountryByIp();
if($ipDetail['countryCode'] == "RU"){$strana = "ru";}else{ $strana = "fi";}
if(!isset($_GET['lang'])){ echo"<script type=\"text/javascript\">
document.location.href = \"/?page_id=".$_GET['page_id']."&lang=".$strana."\";
</script>";
}elseif(!isset($_GET['lang']) and isset($_GET['p'])){
echo"<script type=\"text/javascript\">
document.location.href = \"/?p=".$_GET['p']."&lang=".$strana."\";
</script>";
}else{
if($_GET['lang'] == "ru"){
echo"<div class=\"langed\"><a href=\"?lang=fi\"><img src=\"http://kidsavenue.eu/wp-content/themes/kkidss/images/fi.png\"></a></div>";
}elseif($_GET['lang'] == 'fi'){
echo"<div class=\"langed\"><a href=\"?lang=ru\"><img src=\"http://kidsavenue.eu/wp-content/themes/kkidss/images/ru.png\"></a></div>";
}
}
Спустя 4 минуты, 45 секунд (1.03.2012 - 15:46) Игорь_Vasinsky написал(а):
на чём основан этот алгоритм автоматического переключения?
Спустя 30 минут, 5 секунд (1.03.2012 - 16:16) DarkGuy написал(а):
Цитата (Игорь_Vasinsky @ 1.03.2012 - 12:46) |
на чём основан этот алгоритм автоматического переключения? |
всмысле?
Спустя 1 минута, 24 секунды (1.03.2012 - 16:18) DarkGuy написал(а):
Если lang= fi загружается один контент если ru другой , если пусто то по дефолту ru
Спустя 8 минут, 38 секунд (1.03.2012 - 16:26) GET написал(а):
Цитата |
if(!isset($_GET['lang'])){ echo"<script type=\"text/javascript\"> document.location.href = \"/?page_id=".$_GET['page_id']."&lang=".$strana."\"; </script>"; }elseif(!isset($_GET['lang']) and isset($_GET['p'])){ |
Если не существует $_GET['lang'] ,то {}
иначе Если не существует $_GET['lang'] - такое же условие, наверное !isset($_GET['lang']) and надо убрать?
Спустя 29 минут, 30 секунд (1.03.2012 - 16:56) walerus написал(а):
Мне еще не понятно как в функции getCountryByIp определяется переменная $ipAddress?
Входящих данных вроде нет.
И по моему в document.location.href(), нужно прописывать полный адрес, по крайней мере, у меня броузер ругается на это, и не переходит никуда.
Входящих данных вроде нет.
И по моему в document.location.href(), нужно прописывать полный адрес, по крайней мере, у меня броузер ругается на это, и не переходит никуда.
Спустя 3 часа, 38 минут, 45 секунд (1.03.2012 - 20:35) Игорь_Vasinsky написал(а):
Цитата |
И по моему в document.location.href(), нужно прописывать полный адрес, по крайней мере, у меня броузер ругается на это, и не переходит никуда. |
неа.
elseif(!isset($_GET['lang']) and isset($_GET['p'])){
echo"<script type=\"text/javascript\">document.location.href = \"/?p=".$_GET['p']."&lang=".$strana."\"</script>";
}
для отладки JS пользуются консолью браузера