Webmaster общности: Predpriemach.com | SearchEngines.bg

    Сайт статистика

    Автор: SandPrince

    В този урок ще ви покажа как да си направите подробна статистика за вашия сайт – както в WT. също ще ви покажа как да виждате лист с всички IP-та посетили вашия сайт.

    1. Ще започнем със създаването на един файл – setup.php
    <?php
    // set your infomation.
    $dbhost='localhost'; //попълвате си хоста на mysql-a
    $dbusername='username'; //попълвате си юзера на БД-то
    $dbuserpass='password'; //попълвате си паролата на БД-то
    
    // connect to the mysql database server.
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    //select the database
    mysql_select_db('database') or die('Cannot select database');
    
    //създайте таблица,модифицирайте си я както искате
    $query = 'CREATE TABLE stats(
    ip VARCHAR(255) NOT NULL,
    hits VARCHAR(20) NOT NULL,
    activity DATETIME NOT NULL,
    user_agent VARCHAR(255) NOT NULL)';
    $result = mysql_query($query);
    echo "Table Created!";
    ?>

    Обяснение:

    activity DATETIME NOT NULL – с този скрипт извеждаме врмето и часа !

    1. Сега ще си създадем един файл – site.php – който ще калкулира статистика за посещенията и уникалните посещения в нашия сайт:
    <?php
    // set your infomation.
    $dbhost='localhost';
    $dbusername='username';
    $dbuserpass='password';
    
    // connect to the mysql database server.
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    //select the database
    mysql_select_db('database') or die('Cannot select database');
    
    $query = "SELECT COUNT(ip) AS numrows FROM stats WHERE ip='".$_SERVER["REMOTE_ADDR"]."'";
    $result = mysql_query($query) or die('Error, query failed');
    $row = mysql_fetch_array($result);
    $numrows = $row['numrows'];
    
    if ($numrows == 0) {
    mysql_query("INSERT INTO stats(ip,hits,activity,user_agent)VALUES ('".$_SERVER["REMOTE_ADDR"]."','1',now(),'{$_SERVER['HTTP_USER_AGENT']}')");
    }else{
    mysql_query("UPDATE stats SET hits=hits+1 WHERE ip='".$_SERVER['REMOTE_ADDR']."'");
    }
    
    $result = mysql_query("SELECT COUNT(ip) AS numrows FROM stats");
    $row = mysql_fetch_array($result);
    $unique = $row['numrows'];
    
    $result = mysql_query("SELECT hits FROM stats");
    while ($row = mysql_fetch_array($result)) {
    $hits += $row['hits'];
    }
    ?>
    <table align="center" border="1">
    <tr>
    <td colspan="2" align="center"><b>Site Stats</b></td>
    </tr>
    <tr>
    <td align="left">Unique Hits</td><td align="right"><? echo $unique; ?></td>
    </tr>
    <tr>
    <td align="left">Hits</td><td align="right"><? echo $hits; ?></td>
    </tr>
    </table>

    Както казах в началото , ще си изведем и лист със статистика на всички посещения – с показване на тяхното IP и информация за хората посетили сайта ни!
    Файла който трябва да създадем е visitor.php

    <?php
    echo "<center>";
    // set your infomation.
    $dbhost='localhost';
    $dbusername='username';
    $dbuserpass='password';
    
    // connect to the mysql database server.
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    //select the database
    mysql_select_db('database') or die('Cannot select database');
    
    echo "<h2>Visitors</h2>";
    
    $rowsPerPage = 50; // how many rows on each page?
    $pageNum = 1; // when they first visit make use this as default
    
    // if they have come from another page then adjust the settings for this page
    if(isset($_GET['page']))
    {
    $pageNum = $_GET['page'];
    }
    
    // counting the offset
    $offset = ($pageNum - 1) * $rowsPerPage;
    
    $query = " SELECT ip,hits,activity,user_agent FROM stats " .
    " ORDER BY hits DESC LIMIT $offset, $rowsPerPage";
    $result = mysql_query($query) or die('Error, query failed');
    
    echo "<table border=1> <tr><td> ID</td><td> IP</td><td> Hits</td><td> Last Visited</td><td> User Agent</td></tr>";
    // show the information
    $i=1;
    while($row = mysql_fetch_array($result))
    {
    echo "<tr><td> ".$i."</td><td> ".$row['ip']."</td><td> ".$row['hits']."</td><td> ".$row['activity']."</td><td> ".$row['user_agent']."</td></tr>";
    $i++;
    }
    echo "</table>";
    // колко колонки да имаме в таблицата
    $query = "SELECT COUNT(ip) AS numrows FROM stats";
    $result = mysql_query($query) or die('Error, query failed');
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    $numrows = $row['numrows'];
    
    // колко страници да имаме когато ползваме странициране?
    $maxPage = ceil($numrows/$rowsPerPage);
    
    // print the link to access each page
    $self = $_SERVER['PHP_SELF'];
    $nav = '';
    
    for($page = 1; $page <= $maxPage; $page++)
    {
    if ($page == $pageNum)
    {
    $nav .= " $page ";
    }
    else
    {
    $nav .= " <a href=\"$self?page=$page\">$page</a> ";
    }
    }
    // създаване на предишен и следващ линк
    // плюс линка който трябва да посети
    // първа и последна страница
    
    if ($pageNum > 1)
    {
    $page = $pageNum - 1;
    $prev = " <a href=\"$self?page=$page\">[Prev]</a> ";
    
    $first = " <a href=\"$self?page=1\">[First Page]</a> ";
    }
    else
    {
    $prev = ' ';
    $first = ' ';
    }
    
    if ($pageNum < $maxPage)
    {
    $page = $pageNum + 1;
    $next = " <a href=\"$self?page=$page\">[Next]</a> ";
    
    $last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
    }
    else
    {
    $next = ' ';
    $last = ' ';
    }
    
    // print the navigation link(s)
    echo "Navigation:". $first . $prev . $nav . $next . $last;
    echo "</center>";
    ?>

    И да не забравите във всички файлове които направихме до момента да си попълните информацията за свързването към БД!!!

    $dbhost='localhost';
    $dbusername='username';
    $dbuserpass='password';

    и също

    // connect to the mysql database server.
    mysql_connect ($dbhost, $dbusername, $dbuserpass);
    //select the database
    mysql_select_db('database') or die('Cannot select database');

    така след като сте направили всички тия файлове и сте ги качили на сървъра/хостинга си трябва да стартирате файла setup.php – чрез него атоматично се създава таблица в БД!
    С това урока завършва!!!

    Демо на уникалните посещения можете да видите и сами – WEB-TOURIST

    УРОКА БЕШЕ СПЕЦИАЛНО ПРЕВЕДЕН ЗА WEB-TOURIST!!!

    Оставете коментар