[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Счетчик посещений
alex107
написал такой мини-счетчик, он в принципе работает но с результатами выдает такое предупреждение:
"Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.ru\www\counter\counter.php:1) in Z:\home\test.ru\www\counter\counter.php on line 14"
и после этого количество посетителей...

<?
if (!file_exists("counter.txt")) {
$create = fopen("counter.txt", "w");
fwrite($create, "0");
fclose($create);
}
$fp = fopen ("counter.txt", "r");
$read = fread ($fp, 10);
fclose ($fp);

$visitor = $_COOKIES['visitor'];
if (!isset($visitor)) {
setcookie("visitor", "yes");
$read++;
$update = fopen("counter.txt", "w");
fwrite ($update, $read);
fclose ($update);
} else {
$read++;
$update = fopen("counter.txt", "w");
fwrite ($update, $read);
fclose ($update);
}
echo $read;
?>




Спустя 9 минут, 32 секунды (26.08.2010 - 18:16) Nikitian написал(а):
Перед кодом видимо пробел или перевод строки, а в Z:\home\test.ru\www\counter\counter.php на строке 14 производится вызов функции header().
Уберите пробелы-переводы строк и будет всё гуд.

Спустя 3 минуты, 14 секунд (26.08.2010 - 18:20) alex107 написал(а):
убрал все пробелы, но все равно что-то НИ-НИ... sad.gif т.е. тоже самое... (

Спустя 1 минута, 55 секунд (26.08.2010 - 18:22) Nikitian написал(а):
output started at Z:\home\test.ru\www\counter\counter.php:1
1 - это номер строки
можете перед header() воткнуть такую функцию ob_get_clean()

Спустя 2 минуты, 18 секунд (26.08.2010 - 18:24) alex107 написал(а):
чет я не догнал... sad.gif header() это вообще где??? O_o

Спустя 1 минута, 46 секунд (26.08.2010 - 18:26) Nikitian написал(а):
Цитата (alex107 @ 26.08.2010 - 15:24)
чет я не догнал... sad.gif header() это вообще где??? O_o

Z:\home\test.ru\www\counter\counter.php строка 14

Спустя 1 минута, 36 секунд (26.08.2010 - 18:27) alex107 написал(а):
код:

<?
if(!file_exists("counter.txt")){
$create = fopen("counter.txt", "w");
fwrite($create, "0");
fclose($create);}
$fp = fopen ("counter.txt", "r");
$read = fread ($fp, 10);
fclose ($fp);
$visitor = $_COOKIES['visitor'];
if(!isset($visitor)){
ob_get_clean(setcookie("visitor", "yes"));
$read++;
$update = fopen("counter.txt", "w");
fwrite ($update, $read);
fclose ($update);
} else {
$read++;
$update = fopen("counter.txt", "w");
fwrite ($update, $read);
fclose ($update);
}
echo $read;
?>


результат:

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.ru\www\counter\counter.php:1) in Z:\home\test.ru\www\counter\counter.php on line 11

Warning: Wrong parameter count for ob_get_clean() in Z:\home\test.ru\www\counter\counter.php on line 11
129

blink.gif sad.gif

Спустя 3 минуты, 27 секунд (26.08.2010 - 18:31) Nikitian написал(а):
Перепутал, надо ob_clean(); перед if(!isset($visitor)){

Спустя 1 минута, 40 секунд (26.08.2010 - 18:32) alex107 написал(а):
ob_clean(if(!isset($visitor))){

результат:

Parse error: syntax error, unexpected T_IF, expecting ')' in Z:\home\test.ru\www\counter\counter.php on line 10

Спустя 3 минуты, 7 секунд (26.08.2010 - 18:35) Nikitian написал(а):
Цитата
ob_clean(); перед if(!isset($visitor)){


Т.е. должно получиться так:

ob_clean();
if(!isset($visitor)){

Спустя 1 минута, 46 секунд (26.08.2010 - 18:37) alex107 написал(а):
сделал так:
ob_clean();
if(!isset($visitor)){

получил:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.ru\www\counter\counter.php:1) in Z:\home\test.ru\www\counter\counter.php on line 12
143
sad.gif

Спустя 1 час, 20 минут, 32 секунды (26.08.2010 - 19:58) Rivalryzerg написал(а):
Какой редактор используете для правки скрипта, а также в какой кодировке пишете? Возможно это известная проблема с первым байтом utf
Быстрый ответ:

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