Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> баг в дате с php, исходник внутри 
:(
    Опции темы
13
Дата 1.3.2005, 01:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Дело в том, что в этот скрипт я добавил переменную $time . Вставил ее дляотображения ... но баг!
Работа самого скрипта заключается в отображении 4-ьох строк , вот они Total hits: 158
---------------------------------
Total hits: 1
Total hosts: 1
Daily hits: 1
Daily hosts: 1
-----------------------
И вот как только я добавил переменную $date -> сразу показатели Daily hits: 1 и Total hits: 1 и при мгновенном обновлении страницы начали искажатся ! Причем показатель Total hits: 1 как и прежне показует при каждом обновлении на 1-у цыфпру больше , т.е. работает правильно, зато Daily hits: 1 начал прибавлять, а потом (при еще одном обновлении) отнимать цыфру 1 ! В чем заґвоздка ? Что нужно исправить ? :

Исходник :
Код
<?php
// Our log file;
$counter = "counter.txt";

// Date logging;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$time= date("H:i:s");
$current_date = $mday . $month . $year . $time;

// Log visit;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . $time . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Read log file into array;
$contents = file($counter);

// Total hits;
$total_hits = sizeof($contents);

// Total hosts;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

// Daily hits;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
 array_push($daily_hits, $entry[0]);
}
}
$daily_hits_size = sizeof($daily_hits);

// Daily hosts;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
 array_push($daily_hosts, $entry[0]);
}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

// Let's display everything;
echo "Total hits: " . $total_hits . "<br>Total hosts: " . $total_hosts_size . "<br>Daily hits: " . $daily_hits_size . "<br>Daily hosts: " . $daily_hosts_size;
?>


Это сообщение отредактировал(а) Opr - 3.3.2005, 12:24
  Вверх
Александра
Дата 1.3.2005, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 20.2.2005
Где: Москва

Репутация: 1
Всего: 12



во-первых, выделяй пожалуйста код, а то сложно анализировать ((

во-вторых вся проблема в том, что ты время к дате прибавил! Теперь подумай сам, в чем проблема )))

а вообше делай примерно так:

Код
<?php
// Our log file;
$counter = "counter.txt";

// Date logging;
$today = getdate();
$month = $today[month];
$mday  = $today[mday];
$year  = $today[year];
$time  = date("H:i:s");
$current_date = $mday.$month.$year; # заметь, время тут не надо

// Log visit;
$fp = fopen($counter, "a");
fputs($fp, $_SERVER['REMOTE_ADDR']."|".$mday.$month.$year.'|'.$time.'|'.chr(13).chr(10)); # время отделяем
fclose($fp);

// Read log file into array;
$contents = file($counter);

// Total hits;
$total_hits = sizeof($contents);

// Total hosts;
$total_hosts = array();
for ($i=0; $i < sizeof($contents); $i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

// Daily hits;
$daily_hits = array();
for ($i=0; $i < sizeof($contents); $i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) { array_push($daily_hits, $entry[0]); }
}
$daily_hits_size = sizeof($daily_hits);

// Daily hosts;
$daily_hosts = array();
for ($i=0; $i < sizeof($contents); $i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) { array_push($daily_hosts, $entry[0]); }
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

// Let's display everything;
echo "Total hits: ".$total_hits."<br>Total hosts: ".$total_hosts_size."<br>Daily hits: ".$daily_hits_size."<br>Daily hosts: ".$daily_hosts_size;
?>


теперь все ок
--------------------
PM   Вверх
ST_Falcon
Дата 2.3.2005, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 14.11.2003
Где: Львов

Репутация: нет
Всего: 1



Код

<?php
// Our log file;
$counter = "counter.txt";

// Date logging;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$time= date("H:i:s");
$current_date = $mday . $month . $year . $time;

// Log visit;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . $time . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Read log file into array;
$contents = file($counter);

// Total hits;
$total_hits = sizeof($contents);

// Total hosts;
$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

// Daily hits;
$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hits, $entry[0]);
}
}
$daily_hits_size = sizeof($daily_hits);

// Daily hosts;
$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
$entry = explode("|", $contents[$i]);
if ($current_date == chop($entry[1])) {
array_push($daily_hosts, $entry[0]);
}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

// Let's display everything;
echo "Total hits: " . $total_hits . "<br>Total hosts: " . $total_hosts_size . "<br>Daily hits: " . $daily_hits_size . "<br>Daily hosts: " . $daily_hosts_size;
?>


это я выделю... а теперь смотрим.
PM MAIL ICQ   Вверх
Guest
Дата 3.3.2005, 02:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











--------------------------------
fputs($fp, $_SERVER['REMOTE_ADDR']."|".$mday.$month.$year.'|'.$time.'|'.chr(13).chr(10)); # время отделяем
--------------------------------
в этой строчке, .chr(13).chr(10)); - что это такое ?? ...
  Вверх
D I M K A
Дата 3.3.2005, 03:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











йо-ма-йо , ну я и злой !! ...
поставил счетчки с кодом Александры и присвоид права chmod 666 counter.txt .
И пишет что ошибки :

--------------------------------------------------------------
Warning: fopen(counter.txt): failed to open stream: Permission denied in /var/www/site/site/counter.php on line 14

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/site/site/counter.php on line 15

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/site/site/counter.php on line 16
--------------------------------------------------------------
Вот дерьмо ;/ А какие права тогда надо ? И только же counter.txt они надо ?
  Вверх
D I M K A
Дата 3.3.2005, 08:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











приехали, все решено .
только что вот это
chr(13).chr(10)) ?
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0705 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.