[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод скрипта при некотором условии
ViaScientarium
Приветствую всех!
Есть такая проблемка: необходимо ограничить вывод счетчика посетителей(Rambler TOP100, topmail и т.п.)
Есть такой код:
PHP
<?php
function getIP() {
   if(isset(
$_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
   return 
$_SERVER['REMOTE_ADDR'];

$R=getIP();
If (
$R!=='11.11.11.11'){
echo
'
<!-- begin of Top100 code -->
<script id="top100Counter" type="text/javascript" src="http://counter.rambler.ru/top100.jcn?100000"></script>
<noscript><img src="http://counter.rambler.ru/top100.cnt?100000" alt="" width="1" height="1" border="0"></noscript> 
<!-- end of Top100 code -->'
;
}


Определяется ip, а затем уже решается - выводить скрипт счетчика или нет. Но этот код не срабатывает, т.е. при загрузке страницы ее генерирование доходит до этого места и обрывается. В чем может быть проблема? Заранее спасибо.
P.S.: если необходимо, то используется на сайте cms WordPress 2.7.1



Спустя 8 минут, 29 секунд (25.05.2009 - 18:17) Grazor написал(а):
ViaScientarium
попробуйте вывести $R перед условием

Цитата (ViaScientarium @ 25.05.2009 - 18:09)
при загрузке страницы ее генерирование доходит до этого места и обрывается

в каком смысле обрывается: перестаёт выполняться вовсе, или не выводит счётчик?

Спустя 30 минут, 49 секунд (25.05.2009 - 18:48) ViaScientarium написал(а):
Grazor
Попробовал сделать так:
PHP
<?php
function getIP() {
   if(isset(
$_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
   return 
$_SERVER['REMOTE_ADDR'];

$R=getIP();
echo 
'<div>'.$R.'</div>';
?>
<!-- begin of Top100 code -->
<script id="top100Counter" type="text/javascript" src="http://counter.rambler.ru/top100.jcn?100000"></script>
<noscript><img src="http://counter.rambler.ru/top100.cnt?100000" alt="" width="1" height="1" border="0"></noscript> 
<!-- end&nb

То есть вывести ip адрес до скрипта - результат такой же...
Цитата
в каком смысле обрывается: перестаёт выполняться вовсе, или не выводит счётчик?

Полностью перестает выполняться. То есть: есть три php файла, которые образуют на выходе интернет-страничку. Соответственно когда доходит до кода, который представлен выше - все что ниже этого кода даже не загружается, как будто ничего и нет...

Спустя 1 час, 1 минута, 56 секунд (25.05.2009 - 19:50) FatCat написал(а):
Попробуйте else return $_SERVER['REMOTE_ADDR'];

Спустя 1 час, 27 минут, 52 секунды (25.05.2009 - 21:18) Grazor написал(а):
ViaScientarium
обрыватся и ничего не пишет? а отчёты об ошибках включены? вставьте вначале скрипта
PHP
error_reporting(E_ALL);


но вообще у меня этот кусок кода выполняется без проблем. на локалхосте выводит 127.0.0.1

Спустя 1 час, 43 минуты, 53 секунды (25.05.2009 - 23:02) ViaScientarium написал(а):
Вобще ничего не помогает и сообщения об ошибках не выводятся.
Может тогда дело не в коде, а в каких-то настройках cms?
Кстати, вот этот код выполняется нормально, без ошибок:

PHP
<?php
function getIP() {
   if(isset(
$_SERVER['HTTP_X_REAL_IP'])) return $_SERVER['HTTP_X_REAL_IP'];
   return 
$_SERVER['REMOTE_ADDR'];

$R=getIP();
If (
$R!=='11.11.11.11'){
echo
'
    <!-- YaMetrics begin -->
<script type="text/javascript"><!--
var ya_cid=00000;
//--></script>
<script src="http://bs.yandex.ru/resource/watch.js" type="text/javascript"></script>
<noscript><div style="display: inline;"><img src="http://bs.yandex.ru/watch/00000" width="1" height="1" alt=""></div></noscript>
    <!-- YaMetrics end -->'
;
}

Спустя 9 минут, 3 секунды (25.05.2009 - 23:11) jetistyum написал(а):
ну по идее CMS может менять настройки отображения ошибок - поставь error_reporting(E_ALL) непосредственно перед запуском функции
может быть ты просто в подключении скрипта ошибку сделал где-то...
тут не все видно... думай smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.