Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: счетчик

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
yura
Отправлено: 15 Мая, 2011 - 23:59:49
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




подскажите пожалуйста как при щелчке на submit увеличивать счетчик на единицу?
необходимо значение записывать в текстовый файл, и затем считывать это число каждый раз плюсовать к нему единицу?

я попробовал как-то так... удалось увеличить всего лишь один раз...

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $result.='<form action="index.php" method="get">';
  4. $i=1;
  5. if (isset($_GET[submit])) $i++;
  6. $result.=$i;
  7. $result.='<input type="submit" name="submit" /></form>';
  8. ?>
  9. <html><body><?=$result?></body></html>
  10.  


заранее спасибо!
 
 Top
HotBird
Отправлено: 16 Мая, 2011 - 01:16:25
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Сент. 2010  


Помог: 2 раз(а)




yura пишет:
удалось увеличить всего лишь один раз...

Ну да, у вас же счетчику всегда присваивается значение 1 ($i=1;).
Надо так:
PHP:
скопировать код в буфер обмена
  1. <?$result.='<form action="index.php" method="get">';
  2. if (isset($_GET[submit])) {
  3. $old_i=trim(file_get_contents('counter.txt'));
  4. if ($old_i)
  5.    $i=$old_i+1;
  6.  else
  7.    $i=1;
  8. file_put_contents('counter.txt',$i);
  9. }
  10. $result.=$i;
  11. $result.='<input type="submit" name="submit" /></form>';
  12. ?>
  13. <html><body><?=$result?></body></html>


-----
Человек, сделавший синтаксический анализатор PHP на одном регулярном выражении, займет достойное место среди гениев.
Качественный хостинг по доступной цене
 
 Top
komprenda
Отправлено: 16 Мая, 2011 - 02:08:30
Post Id


Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Май 2011  


Помог: 3 раз(а)




yura пишет:
подскажите пожалуйста как при щелчке на submit увеличивать счетчик на единицу?
необходимо значение записывать в текстовый файл, и затем считывать это число каждый раз плюсовать к нему единицу?

я попробовал как-то так... удалось увеличить всего лишь один раз...

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $result.='<form action="index.php" method="get">';
  4. $i=1;
  5. if (isset($_GET[submit])) $i++;
  6. $result.=$i;
  7. $result.='<input type="submit" name="submit" /></form>';
  8. ?>
  9. <html><body><?=$result?></body></html>
  10.  


заранее спасибо!



PHP:
скопировать код в буфер обмена
  1. <?PHP if (!isset($_GET["click"])) { ?>
  2. <a href="<?PHP echo $_SERVER["PHP_SELF"]; ?>?click">click</a>
  3. <?PHP } else {
  4.  
  5.         $filename = "counter.dat";
  6.         if (!file_exists($filename)) {
  7.                 $f = fopen($filename, "w+b");
  8.                 flock($f, LOCK_EX);
  9.                 $counter = 0;
  10.         }
  11.         else {
  12.                 $f = fopen($filename, "r+b");
  13.                 flock($f, LOCK_EX);
  14.                 $tmp = unpack("L", fread($f, 4) /* читаем четыре байта из файла */); // распаковываем бинарные данные
  15.                 $counter = (int) $tmp[1];
  16.         }
  17.         ++$counter;
  18.         fseek($f, 0);
  19.         fwrite($f, pack("L", $counter));
  20.         flock($f, LOCK_UN);
  21.         fclose($f);
  22.  
  23. ?>
  24. <p>Поздравляю, вы открыли эту страницу <?PHP echo $counter; ?> раз<?PHP
  25.  
  26.         $mod = ($counter > 20) ? $counter % 10 : $counter;  
  27.         if ($mod > 1 and $mod < 5) {
  28.                 echo "а"; // это окончание меняем в зависимости от числительного
  29.         }
  30.  
  31.  
  32. ?>.</p>
  33. <?PHP } ?>

(Отредактировано автором: 16 Мая, 2011 - 02:25:55)

 
 Top
yura
Отправлено: 16 Мая, 2011 - 17:59:12
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Май 2010  


Помог: 0 раз(а)




спасибо огромное, буду ваять :^)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB