Forum Webscript.Ru
Программирование => PHP => Тема начата: Sad Raven от 11 Июня 2002, 06:09:21
-
Почему я не могу вызвать свой скрипт (да и чужие тоже не вызываются) через JavaScript? Ни статистику кликов не вывести, ни who\'s online, ни т.п.
Вот листинг tets.php :
-------------------------------------
1.
2.
3. include("online.php"); ?>
4.
-------------------------------------
Вот что получается :
-------------------------------------
1.
2.
3. document.write(\'Сейчас на сайте: 1 чел.\');
4.
-------------------------------------
Писал в support - глухо как в танке! Одно из двух: или они не знают, в чем проблема; или у них действительно сервер кривой (как многие и говорят).
Третья причина - мой косяк. Может я что не так делаю?
-
А содержание онлайн ПХП не можешь дать?
-
Могу.
$data="online.dat";
$time=time();
$past_time=time()-600;
if(is_file($data) && is_readable($data)):
$readdata=fopen($data,"r") or die("Не могу открыть файл $data");
$data_array=file($data);
fclose($readdata);
endif;
if (getenv(\'HTTP_X_FORWARDED_FOR\'))
$user = getenv(\'HTTP_X_FORWARDED_FOR\');
else
$user = getenv(\'REMOTE_ADDR\');
$d=count($data_array);
for($i=0;$i<$d;$i++)
{
list($live_user,$last_time)=explode("::","$data_array[$i]");
if($live_user!=""&&$last_time!=""):
if($user==$live_user)
$last_time="$time\\r\\n";
if($last_time<$past_time):
$live_user="";
$last_time="";
endif;
if($live_user!=""&&$last_time!="") $online_array[]="$live_user::$last_time";
endif;
}
if(is_file($data) && is_writable($data)):
$writedata=fopen($data,"w") or die("Не могу открыть файл $data");
flock($writedata,2);
if($online_array=="")
$online_array[]="$user::$time";
foreach($online_array as $str)
fputs($writedata,"$str");
flock($writedata,3);
fclose($writedata);
endif;
$online=count($data);
echo "document.write(\'Сейчас на сайте: $online чел.\');";
P.S. Драть и распространять запрещено! Использовать - пожалуйста.
P.P.S. Ворон больно клюется.