|
|
|
| Попытался установить счетчик посещений на страницу:
[url=htpp//www.avtonov.svoi.info/map.php]Карта сайта[/url]
В папке "counter" лежит файл скрипта counter.php и текстовый файл stat.txt.
Вот скрипт:
<?php
$url="counter/stat.txt";
if(!file_exists($url)) {
$count = 0;
$handle = fopen($url,"a");
fwrite($handle,$count);
fclose($handle);
}
else {
$handle = fopen($url,"a+");
$count = fread($handle,filesize($url));
fclose($handle);
$count++;
$handle = fopen($url,"w");
fwrite($handle,$count);
fclose($handle);
}
echo "Количество просмотров страницы: $count ";
?>
Этот код вставлен в страницу:
<?php @include("counter/counter.php");?>
Запускаю на своем компьютере с помощью Денвера- все работает, закачиваю на сервер- появляется только надпись:" Количество просмотров страницы " | |
|
|
|
|
|
|
|
для: krig
(09.08.2009 в 13:28)
| | права на файл stat.txt ставьте
через фтп можете обычно 666 | |
|
|
|
|
|
|
|
для: Visavi
(09.08.2009 в 16:08)
| | -- | |
|
|
|
|
|
|
|
для: Visavi
(09.08.2009 в 16:08)
| | Спасибо, выставил 666, все заработало! | |
|
|
|
|
|
|
|
для: krig
(09.08.2009 в 19:50)
| | Всем доброго времени суток!
У меня опять вопрос по тому же счетчику. Попытался его усовершенствовать с помощью сессий.
В index.php добавил: <?php session_start(); ?>
А counter.php теперь выглядит так:
<?php
$url="counter/stat.txt";
if(!file_exists($url)) {
$count = 0;
$handle = fopen($url,"a");
fwrite($handle,$count);
fclose($handle);
}
else {
$handle = fopen($url,"a+");
$count = fread($handle,filesize($url));
fclose($handle);
if (!isset($_session['count'])) {
$_session['count'] = 1;
$count++;
$handle = fopen($url,"w");
if (flock($handle, lock_ex)) {
fwrite($handle,$count);
flock($handle, lock_un);
} else {
echo "И снова здравствуйте!";
}
fclose($handle);
}
}
echo "количество просмотров: $count";
?>
При тестировании на Денвере выдаются сообщения:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at G:\home\moi.ua\www\map.php:3) in G:\home\moi.ua\www\map.php on line 3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\home\moi.ua\www\map.php:3) in G:\home\moi.ua\www\map.php on line 3
И статистика на странице выглядит так:
И снова здравствуйте!количество просмотров: | |
|
|
|
|
|
|
|
для: krig
(23.08.2009 в 20:53)
| | session_start() должно вызываться до всякого вывода, будь то через функции php или просто вывода хтмл, если не понятно в самом верху напиши ob_start() | |
|
|
|