На локали стоит Vertrigoserv последней версии. Все вроде бы работает, но столкнулся со странностями.
1. Определяю IP. Вывожу для проверки - все работает. Далее идет пару циклов, переменная IP не перезаписывается, не изменяется, ошибок PHP нет. НО!!! Открываю следующий цикл а переменная IP пропала! Причем не помогает даже новое определение IP. Наглухо пропадает!
Что это может быть?
2. Есть обычная ссылка в html вида
page.php?page=5. Т.е. при ее отправке в браузер должна появиться переменная $_GET['page']. Однако попытка перехватить ее до загрузки кода страницы ни к чему не приводит! Только методом тыка удалось определить, что она срабатывает только при размещении кода в нижней части страницы.
Что это может быть?
3. Не срабатывает код принудительному определению переменной $_GET['address']. Объявляю ее в начале кода а в конце должно перехватить и проинклюдить полученный адрес. Тишина!
Что это может быть?
Ошибки в коде исключаю, потому что проверил все раз на 100. Может настройки PHP какие-то чудят? От чего может появиться такой полтергейст?
p.s. недостающий код.
if (isset($_GET))
{
foreach ($_GET as $key=>$value)
{
$anchor = $key;
break;
}
$IP = $_SERVER["REMOTE_ADDR"];
if (!file_exists("./stats-ip.dat"))
{
$fp = fopen("./stats-ip.dat","a+");
$puts = $IP."::".$anchor."\n";
}
else
{
$file = file("./stats-ip.dat");
$file1 = "./stats-ip.dat";
$file2 = "./admin/stats-bak.dat";
if (@filesize($file1 >= $file2))
copy ($file1,$file2);
if (!in_array($IP,$file))
{
$file[] = $IP."::".$anchor."\n";
$puts = implode("",$file);
}
else
{
$puts = '';
foreach ($file as $value)
{
echo $IP;
if(preg_match("!".$IP."!",$value)) // Вот здесь уже IP пропал!!!
{
echo "Match!";
$puts .= trim($value)." ".$anchor."\n";
}
else
$puts .= $value;
}
}
$fp = fopen("./stats-ip.dat","r+");
}
fputs($fp,$puts);
fclose($fp);
}