проблема со счётчиком.

_budda_

Новичок
проблема со счётчиком.

php _ 4.4.0
apache _ 2.0.43

по какойто пречине он не увеличивается помогите плз.

<html>
...код
PHP:
<?  $f=fopen("st.txt","a+"); 
 flock($f,2); 
 $c=fread($f,100);  
if (!IsSet($was))  
{  $was=1; 
 SetCookie("was",$was,0x7fffffff); 
 @$c=$c+1;  
ftruncate($f,0);  
fwrite($f,$c);  }  
flock($f,3); 
 fclose($f);  
echo $c ;  ?>
...код
</html>
 

rotoZOOM

ACM maniac
Какой ужос.
Срочно разбирайся с каждой строчкой: флаги в fopen,
что именно возвращает fread, и т.д.
А лучше посмотреть здесь, а еще лучше подучить PHP.
 

_budda_

Новичок
втом то и дело что я токо учусь.
но как моно чтото учить когда и когда даже такая хрень не работает.
мдя кстати он работает токо кода я счётчик вставляю чистым
в страницу а когда перд ним есть код он не пашет. =(
 

Хам

Новичок
Автор оригинала: _budda_
втом то и дело что я токо учусь.
но как моно чтото учить когда и когда даже такая хрень не работает.
мдя кстати он работает токо кода я счётчик вставляю чистым
в страницу а когда перд ним есть код он не пашет. =(
Перед SetCookie не должно отображаться ничего... т.е. оно должно стоять в самом верху до вывода чего-либо...(под выводом чего-либо подразумевается в том числе и HTML код... даже выше строки <html>) Лучше всего сам PHP счетчик вынести в другой файл и включать в код HTML страницы при помощи JavaScript, либо SSI...

...вроде попытался обьяснить самым легким языком...
 

_budda_

Новичок
пасибо !!
а как при помощи JavaScript подключить пхп сценарий ??
 

Хам

Новичок
Автор оригинала: _budda_
пасибо !!
а как при помощи JavaScript подключить пхп сценарий ??
Товой counter.php (тобиш счетчик) немножко нужно модифицировать для этого:
PHP:
<?  ......
.......
echo "<!--
document.write('".$с."');
//-->";  
?>
а в тело HTML файла нуно вставить:
PHP:
<script language="JavaScript" src="counter.php" type="text/javascript"></script>
-~{}~ 19.09.05 06:53:

P.S. Чуть не забыл... прежде чем спросить что-то, лучше посмотри то как это реализовано у других... открой книжечку или вумный сатик и просто почитай инфу по тому языку программирования, который ты хочешь использовать или статьи на ту тему над которой ты работешь...
на всякий случай вот тебе вумный сайтец: http://citforum.ru/
 

SiMM

Новичок
a+ значит, что дописывать ты сможешь только в конец, а не поверх.
 

_budda_

Новичок
цитата из книги "самоучитель по PHP5"
Теперь немного опишу принцип работы счетчика. В строке 2 открываем файл counter.dat. Причем используется режим а+. В этом режиме файл открывается, как для чтения, так и для записи. Указатель файла устанавливается на его конец. В отличие от режима «а», в режиме «а+», если файл не существует, он создается.

кому верить
 

SiMM

Новичок
> кому верить
Зачем кому-то верить, когда можно проверить? К тому же написанное НИКАК не противоречит сказанному мной.
Хотя ftruncate - сработает, да. Позиционирование - не работает.
 

_budda_

Новичок
>Зачем кому-то верить, когда можно проверить?
ты прям стихи читаешь =)

ладно будем учится.

а почему
.getenv("REMOTE_ADDR");
показывает не ральный адресс пользователя зашедшего на страницу а адрес либо мой либо последнего посетителя ??
 

Фанат

oncle terrible
Команда форума
Я сталкивался. Много раз.
После пятого стакана бывает и хуже...
 
Сверху