Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с простым счетчиком
 
 автор: krot007   (24.07.2006 в 14:03)   письмо автору
 
 

По нажатию на ссылочку (загрузку) должен увеличиваться счетчик, но увы, хоть другие пхп-компонеты работают... Имеем:
1) файл met.php с таким кодом:

<A HREF="./dg1.php"> <IMG SRC="./save.gif" ALT="DownLoad!" BORDER="0"></A> <BR>

<?php
$file_hendle 
fopen("counter1.txt""r ");
$n fread($file_hendlefilesize("counter1.txt"));
fclose($file_hendle);
echo (
$n ");
?>
загрузок

2) Файл counter1.txt (в нем есть число 21 и файл в атрибутах допускает запись в него)
3) Файл dg1.php с таким кодом:

<?php
$fp
=fopen("counter1.txt","r+");
flock($fp,1);
$count=fgets($fp,6);
$count+=1;
rewind($fp);
fputs($fp,$count);
flock($fp,3);
fclose($fp);
header ("location: gauss.zip");
exit();
?>

4) ну и, ясно, сам файл gauss.zip.

Подскажите, почему счетчик не работает?

   
 
 автор: ЯR   (24.07.2006 в 15:04)   письмо автору
 
   для: krot007   (24.07.2006 в 14:03)
 

Как-то тут всё сложно. Я бы сделал так:

<A HREF="./dg1.php"> <IMG SRC="./save.gif" ALT="DownLoad!" BORDER="0"></A> <BR>

<?php
echo (readfile("counter1.txt"));
?>
загрузок 



<?php
$n 
readfile("counter1.txt");
$fp fopen("counter1.txt""r+");
fputs($fp, ++$n);
fclose($fp);
header ("location: gauss.zip");
?>

   
 
 автор: krot007   (24.07.2006 в 16:49)   письмо автору
 
   для: ЯR   (24.07.2006 в 15:04)
 

Не работает!
1) При загрузке страницы показывает почему-то не 21, а 212.
2) При нажатии на ссылку загрузки выдает:
-----------------------------------------------------
31 Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\mmm\ukr\met\dg1.php:2) in c:\program files\easyphp1-8\www\mmm\ukr\met\dg1.php on line 6
-----------------------------------------------------
А можно рабочий вариант?

   
 
 автор: Footer   (24.07.2006 в 17:41)   письмо автору
 
   для: krot007   (24.07.2006 в 16:49)
 

Это типа, заголовки уже ушли и по новой их отправить нельзя.
Я лично советую так:
Файл: dg1.php

$file_stats = "counter1.txt";    // Файл счетчика
$vis = file($file_stats);            // Прочитать содержимое файла в массив
$current_visitors =$vis[0];              // Извлечь первый (и единственный) элемент
++$current_visitors;            // Увелечить счетчик обращений
$fh = fopen($file_stats, "w");        // Открыть файл $file_stats и установить указатель на //позицию в начало файла
@fwrite($fh, $current_visitors);         // Записать  новое значение счетчика
fclose($fh);                 // Закрыть файл
header("Location:gauss.zip");

Ну а сам файл met.php

<A HREF="./dg1.php"> <IMG SRC="./save.gif" ALT="DownLoad!" BORDER="0"></A> <BR> 
<?php 
include ("counter1.txt");
?> 
загрузок

   
 
 автор: krot007   (25.07.2006 в 18:38)   письмо автору
 
   для: Footer   (24.07.2006 в 17:41)
 

Не работает!!!!!
При нажатии на ссылку в окно браузера просто вываливает содержимое файла dg1.php:

$file_stats = "counter1.txt"; // ” ©« бзҐвзЁЄ $vis = file($file_stats); // Џа®зЁв вм ᮤҐа¦Ё¬®Ґ д ©« ў ¬ ббЁў $current_visitors =$vis[0]; // €§ў«Ґзм ЇҐаўл© (Ё Ґ¤Ё­б⢥­­л©) н«Ґ¬Ґ­в ++$current_visitors; // “ўҐ«ҐзЁвм бзҐвзЁЄ ®Ўа 饭Ё© $fh = fopen($file_stats, "w"); // ЋвЄалвм д ©« $file_stats Ё гбв ­®ўЁвм гЄ § вҐ«м ­ //Ї®§ЁжЁо ў ­ з «® д ©« @fwrite($fh, $current_visitors); // ‡ ЇЁб вм ­®ў®Ґ §­ 祭ЁҐ бзҐвзЁЄ fclose($fh); // ‡ Єалвм д ©« header("Location:gauss.zip");

А можно, все-таки, рабочий вариант? Было бы просто здорово, если бы перед ответом на форуме этот кусочек кода проверялся на работоспособность...

   
 
 автор: ЯR   (26.07.2006 в 05:23)   письмо автору
 
   для: krot007   (25.07.2006 в 18:38)
 

Так надо было его ещё в теги <?php ?> заключить

   
 
 автор: krot007   (27.07.2006 в 19:30)   письмо автору
 
   для: ЯR   (26.07.2006 в 05:23)
 

Как говорил кот Матроскин, "УРА! ЗАРАБОТАЛО !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!"
Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо!

   
 
 автор: mihdan   (28.07.2006 в 13:07)   письмо автору
 
   для: krot007   (24.07.2006 в 16:49)
 

вначале файла пропиши ob_start();

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования