Карта Google и ключ изменены в Интернете - PullRequest
1 голос
/ 15 марта 2011

Я ищу эксперта php, который хочет помочь мне в этой странной проблеме. Этот скрипт, добавленный ниже, иногда работает хорошо. У меня есть три домена, указывающие на один каталог. Карты Google требуют ключ API, уникальный для каждого домена. Мой скрипт должен изменить значение ключа онлайн. Я вижу, что страницы из IE8 всегда отображаются правильно, но из Chrom и Firefox этот скрипт имеет проблемы, но не всегда. Конечно я контролировал источник страницы и там был пустой, где должен быть скрипт src. Спасибо Хорошего дня!

В заголовок страницы добавлен полный код.

<?php
if ($_SERVER['HTTP_HOST']=='napuzaka.pl') 
    {echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTpouANZ5f-taQv7LHvODzA4dkDHBSIDoDMuDCbfgg0tAyoHhFajBNCJQ' type='text/javascript'></script>"; }
if ($_SERVER['HTTP_HOST']=='xn--napuaka-zwb.pl') 
    {echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBSz8IVGRhEo79udyNR7B2dzTza61xRpT9lPIg18vhQmddrMIlSVereK3g' type='text/javascript'></script>";}
if ($_SERVER['HTTP_HOST']=='xn--przychodnia-na-puaka-yle.pl') 
    {echo "<script src='http://maps.google.com/maps?file=api&v=2&key=http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTIBRlPbe0ldXIT_VQB31noUDT8mRReXxc12wAWIs4fuEXiTbsZ0HvViA' type='text/javascript'></script>";}
?>

Ответы [ 2 ]

0 голосов
/ 29 апреля 2011

Почему бы вместо этого не использовать переменную для управления доменом, а затем echo эту строку с оператором switch?

$page = $_SERVER['PHP_SELF'];

switch ($page)
{

case 'http://xn--przychodnia-na-puaka-yle.pl': 
print '<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;hl=en&amp;sensor=false&amp;key="ABQIAAAAYTZHyOQ5V62SeMKaQnfsmBTIBRlPbe0ldXIT_VQB31noUDT8mRReXxc12wAWIs4fuEXiTbsZ0HvViA" type="text/javascript"></script>';

break;

case 'http://napuzaka.pl': /* same with this case just different API Key*/ 
break;

case 'http://xn--napuaka-zwb.pl': /* same with this case just different API Key*/ 
break;

}

Кроме того, использование print вместо echo экономит некоторую память во время процесса, поскольку функция echo имеет свою собственную микро-фабрику и должна использоваться, только если вы печатаете переменные или текст с переменными в нем для ради того, чтобы сделать это быстрее.

0 голосов
/ 15 марта 2011

Просто напечатайте $ _SERVER ['HTTP_HOST'] в ситуациях, когда он не работает, и добавьте их в if ... Это связано с тем, как браузеры анализируют IDN (интернационализированное доменное имя) http://en.wikipedia.org/wiki/Internationalized_domain_name

...