Здравствуйте!
Я написал простой php скрипт, который отодвигает меню на сайте от левого края на разное расстояние в зависимости от того, на какой странице находится пользователь. Если на главной — на -156px, а если на всех остальных — то на -43px.
Скрипт имеет такой вид:
—
<?php
function request_url()
{
$result = ''; // Пока результат пуст
$default_port = 80; // Порт по-умолчанию
// А не в защищенном-ли мы соединении?
if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS']=='on')) {
// В защищенном! Добавим протокол...
$result .= 'https://';
// ...и переназначим значение порта по-умолчанию
$default_port = 443;
} else {
// Обычное соединение, обычный протокол
$result .= 'http://';
}
// Имя сервера, напр. site.com или www.site.com
$result .= $_SERVER['SERVER_NAME'];
// А порт у нас по-умолчанию?
if ($_SERVER['SERVER_PORT'] != $default_port) {
// Если нет, то добавим порт в URL
$result .= ':'.$_SERVER['SERVER_PORT'];
}
$result .= $_SERVER['REQUEST_URI'];
return $result;
}
$page = request_url();
$master = "http://www.masterhaus.net/";
if ($page == $master)
{
echo "<nav class='navigation' style = 'margin: 0 0 0 -156px;'>";
}
else
{
echo "<nav class='navigation' style = 'margin: 0 0 0 -43px;'>";
}
?>
— Сайт, на котором находится это меню:
www.masterhaus.net/
На моем рабочем компьютере все ок. Очистил все кеши, в том числе и внутренний друпаловский. Проверил через сервис browsershots.org. Тоже все ок. Проверил через анонимайзер — все ок.
Но на компьютерах коллег, с такими же точно браузерами и разрешениями меню на главной выдается только с отступом
echo "<nav class='navigation' style = 'margin: 0 0 0 -43px;'>";
Как будто первое условие
echo "<nav class='navigation' style = 'margin: 0 0 0 -156px;'>"
; вообще не срабатывает. При этом переменная $page точно принимает значение «
www.masterhaus.net/», я делал тестовый вывод. И на компьютерах коллег этот вывод давал такие же результаты.
Я искренне не понимаю, почему на моем компьютере все работате как надо, через анонимайзер С МОЕГО компьютера тоже все работает как надо, а вот у коллег — по другому. Php же интерпретируется сервером, а, значит, результат не должен зависеть от клиентской платформы…
Спасибо за помощь.