Брояч за саита... (Уникални потребители)

pepo13

Registered
Значи търся брояч които отброява уникалните потребите :)
Рових из форума, намерих 2-3 кода но ми дава грешки при тях... даита някои свястен код :lol:
 
По принцип няма какво да ти създава проблеми ако постнеш грешките тук ще ти помогна предполага :)
А и с база данни или с текстови факлове искаш да е
 
Виж и брояча на admin тук :arrow: http://web-tourist.net/forum/viewtopic.php?t=3583&highlight=%F3%ED%E8%EA%E0%EB%ED%E8+%E4%ED%E5%F1
 
Значи искам да е с база данни... както разбрах било по хубаво по вярно отчитало(поправете ме ако не съм прав) грешката ми е ->
Notice: Undefined variable: hits in d:\apache\www\counter\site.php on line 29

Ползвам бояча от 1вия урок които ми дадохте, може да е от старата версия на пхп-то(4.0) сега си свалям 5.0 :)
 
Galli каза:
Виж и брояча на admin тук :arrow: http://web-tourist.net/forum/viewtopic.php?t=3583&highlight=%F3%ED%E8%EA%E0%EB%ED%E8+%E4%ED%E5%F1
Благодаря, този вече го гледах :)
 
pepo13 каза:
Значи искам да е с база данни... както разбрах било по хубаво по вярно отчитало(поправете ме ако не съм прав) грешката ми е ->
Notice: Undefined variable: hits in d:\apache\www\counter\site.php on line 29

Ползвам бояча от 1вия урок които ми дадохте, може да е от старата версия на пхп-то(4.0) сега си свалям 5.0 :)


Ето един брояч:

<?php
// Нашият файл за посещения;
$counter = "stats.txt";

// Дата на посщението;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;


// Записва посещенията;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Чете файлът,който брои посещенията;
$contents = file($counter);

// Общо посещенията;
$total_hits = sizeof($contents);

// Общо уникалните посещенията;
$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 = 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 = 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));

?>

Само че е в текстов фаил. Записва дати, години, май и часове, както и ip-тата.

Показва уникални за днес, общо уникални, общо влизания, за днес колко влизания..


направи и един stats.txt файл дето да се записват данните. (трябва да е в тази папка където е и кода)

Ето и с .htaccess какво може да направиш още:

<Files stats.txt>
Order allow,deny
Deny from all
Satisfy All
</Files>


този код го слагаш в .htaccess и сейфаш в тази папка където ти са кода и статс.тхт файловете.

Сега ако някой иска да отвори файла ще му даде грешка.. access denied. (че няма досъп до него файл)


Успех :?:
 
Pussycat каза:
pepo13 каза:
Значи искам да е с база данни... както разбрах било по хубаво по вярно отчитало(поправете ме ако не съм прав) грешката ми е ->
Notice: Undefined variable: hits in d:\apache\www\counter\site.php on line 29

Ползвам бояча от 1вия урок които ми дадохте, може да е от старата версия на пхп-то(4.0) сега си свалям 5.0 :)


Ето един брояч:

<?php
// Нашият файл за посещения;
$counter = "stats.txt";

// Дата на посщението;
$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;


// Записва посещенията;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Чете файлът,който брои посещенията;
$contents = file($counter);

// Общо посещенията;
$total_hits = sizeof($contents);

// Общо уникалните посещенията;
$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 = 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 = 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));

?>

Само че е в текстов фаил. Записва дати, години, май и часове, както и ip-тата.

Показва уникални за днес, общо уникални, общо влизания, за днес колко влизания..


направи и един stats.txt файл дето да се записват данните. (трябва да е в тази папка където е и кода)

Ето и с .htaccess какво може да направиш още:

<Files stats.txt>
Order allow,deny
Deny from all
Satisfy All
</Files>


този код го слагаш в .htaccess и сейфаш в тази папка където ти са кода и статс.тхт файловете.

Сега ако някой иска да отвори файла ще му даде грешка.. access denied. (че няма досъп до него файл)


Успех :?:
Знаеш ли че като го гледам така маи му липства нещо... щото пак и не ми показва пише ми ->

Код:
Notice: Use of undefined constant month - assumed 'month' in d:\apache\www\counter\stats.php on line 7

Notice: Use of undefined constant mday - assumed 'mday' in d:\apache\www\counter\stats.php on line 8

Notice: Use of undefined constant year - assumed 'year' in d:\apache\www\counter\stats.php on line 9

Warning: fopen(counter/stats.txt): failed to open stream: No such file or directory in d:\apache\www\counter\stats.php on line 14

Notice: Undefined variable: REMOTE_ADDR in d:\apache\www\counter\stats.php on line 15

Warning: fputs(): supplied argument is not a valid stream resource in d:\apache\www\counter\stats.php on line 17

Warning: fclose(): supplied argument is not a valid stream resource in d:\apache\www\counter\stats.php on line 18

Warning: file(counter/stats.txt): failed to open stream: No such file or directory in d:\apache\www\counter\stats.php on line 21

Notice: Undefined offset: 1 in d:\apache\www\counter\stats.php on line 38

Notice: Undefined offset: 1 in d:\apache\www\counter\stats.php on line 48
 
ммм.. немисля така

При мен работи. Незнам нещо от php-то ти нещо.. незнам може да е стара версия.. може да е писан кода за php 5 незнам немога да ти кажа, но аз нямам проблеми с него.

И всичко слагай В ЕДНА ПАПКА. Просто така пробвай и после променяй директории и т.н. :?:
 
Извинявай много, аз бях си го променял кода и изкарвах резултатите другаде..

Ето целия код:


Код:
<?php 
// Нашият файл за посещения; 
$counter = "stats.txt"; 

// Дата на посщението; 
$today = getdate(); 
$month = $today[month]; 
$mday = $today[mday]; 
$year = $today[year]; 
$current_date = $mday . $month . $year; 


// Записва посещенията; 
$fp = fopen($counter, "a"); 
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n"; 
$size = strlen($line); 
fputs($fp, $line, $size); 
fclose($fp); 

// Чете файлът,който брои посещенията; 
$contents = file($counter); 

// Общо посещенията; 
$total_hits = sizeof($contents); 

// Общо уникалните посещенията; 
$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 = 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 = 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)); 

?> 

<br>  Общо посещения: <?php echo "<b> " . $total_hits; ?></b>
<br>  Общо уникални посещения: <?php echo "<b> " . $total_hosts_size; ?></b>
<br>  Посещения днес: <?php echo "<b> " . $daily_hits_size; ?></b>
<br>  Уникални посещения днес: <?php echo "<b> " . $daily_hosts_size; ?></b>


Демо: http://77.71.41.86/counter.php
ДЕМО за STATS.TXT с .htaccess файл: http://77.71.41.86/stats.txt


Пак казвам: ИЗВИНЯВАМ СЕ :oops:
 
я пробвай така:

Код:
<?php
// Нашият файл за посещения;
$counter = "inc/stats.txt";

// Дата на посщението;

$month = date("m");
$mday = date("d");
$year = date("Y");
$current_date = $mday . $month . $year;


// Записва посещенията;
$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

// Чете файлът,който брои посещенията;
$contents = file($counter);

// Общо посещенията;
$total_hits = sizeof($contents);

// Общо уникалните посещенията;
$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 = 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 = 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));

?>

и в папаката където е файла направи друга папка с име inc а в нея файл stats.txt
 
и отдолу кода след ?>

слагаш това:

Код:
<br>  Общо посещения: <?php echo "<b> " . $total_hits; ?></b> 
<br>  Общо уникални посещения: <?php echo "<b> " . $total_hosts_size; ?></b> 
<br>  Посещения днес: <?php echo "<b> " . $daily_hits_size; ?></b> 
<br>  Уникални посещения днес: <?php echo "<b> " . $daily_hosts_size; ?></b>


че съм го пропуснал :D

ест. може и без   :)


Обърни внимание в коя директория ти е задал Jooroo да бъде stats.txt !!! Иначе с моя горния код няма да имаш проблеми

Успех :?:
 

Back
Горе