zelllibin Posted December 23, 2008 Share Posted December 23, 2008 HI i am using the code here.. however how do i add a column for to log number of visitors visited that page... CREATE TABLE `visitors_table` ( `ID` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `visitor_ip` VARCHAR( 32 ) NULL , `visitor_browser` VARCHAR( 255 ) NULL , `visitor_hour` SMALLINT( 2 ) NOT NULL DEFAULT '00', `visitor_minute` SMALLINT( 2 ) NOT NULL DEFAULT '00', `visitor_date` TIMESTAMP( 32 ) NOT NULL DEFAULT CURRENT_TIMESTAMP , `visitor_day` SMALLINT( 2 ) NOT NULL , `visitor_month` SMALLINT( 2 ) NOT NULL , `visitor_year` SMALLINT( 4 ) NOT NULL , `visitor_refferer` VARCHAR( 255 ) NULL , `visitor_page` VARCHAR( 255 ) NULL ) TYPE = MYISAM ; <?php $hostname_visitors = "localhost"; $database_visitors = "growa"; $username_visitors = "root"; $password_visitors = "password"; $visitors = mysql_connect($hostname_visitors, $username_visitors, $password_visitors) or trigger_error(mysql_error(),E_USER_ERROR); function getBrowserType () { if (!empty($_SERVER['HTTP_USER_AGENT'])) { $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; } else if (!empty($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) { $HTTP_USER_AGENT = $HTTP_SERVER_VARS['HTTP_USER_AGENT']; } else if (!isset($HTTP_USER_AGENT)) { $HTTP_USER_AGENT = ''; } if (ereg('Opera(/| )([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) { $browser_version = $log_version[2]; $browser_agent = 'opera'; } else if (ereg('MSIE ([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) { $browser_version = $log_version[1]; $browser_agent = 'ie'; } else if (ereg('OmniWeb/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) { $browser_version = $log_version[1]; $browser_agent = 'omniweb'; } else if (ereg('Netscape([0-9]{1})', $HTTP_USER_AGENT, $log_version)) { $browser_version = $log_version[1]; $browser_agent = 'netscape'; } else if (ereg('Mozilla/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) { $browser_version = $log_version[1]; $browser_agent = 'mozilla'; } else if (ereg('Konqueror/([0-9].[0-9]{1,2})', $HTTP_USER_AGENT, $log_version)) { $browser_version = $log_version[1]; $browser_agent = 'konqueror'; } else { $browser_version = 0; $browser_agent = 'other'; } return $browser_agent; } function selfURL() { $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; } function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); } function paginate($start,$limit,$total,$filePath,$otherPara ms) { global $lang; $allPages = ceil($total/$limit); $currentPage = floor($start/$limit) + 1; $pagination = ""; if ($allPages>10) { $maxPages = ($allPages>9) ? 9 : $allPages; if ($allPages>9) { if ($currentPage>=1&&$currentPage<=$allPages) { $pagination .= ($currentPage>4) ? " ... " : " "; $minPages = ($currentPage>4) ? $currentPage : 5; $maxPages = ($currentPage<$allPages-4) ? $currentPage : $allPages - 4; for($i=$minPages-4; $i<$maxPages+5; $i++) { $pagination .= ($i == $currentPage) ? "<a href=\"#\" class=\"current\">".$i."</a> " : "<a href=\"".$filePath."? start=".(($i-1)*$limit).$otherParams."\">".$i."</a> "; } $pagination .= ($currentPage<$allPages-4) ? " ... " : " "; } else { $pagination .= " ... "; } } } else { for($i=1; $i<$allPages+1; $i++) { $pagination .= ($i==$currentPage) ? "<a href=\"#\" class=\"current\">".$i."</a> " : "<a href=\"".$filePath."?start=".(($i-1)*$limit).$otherParams."\">".$i."</a> "; } } if ($currentPage>1) $pagination = "<a href=\"".$filePath."? start=0".$otherParams."\">FIRST</a> <a href=\"".$filePath."? start=".(($currentPage-2)*$limit).$otherParams."\"><</a> ".$pagination; if ($currentPage<$allPages) $pagination .= "<a href=\"".$filePath."? start=".($currentPage*$limit).$otherParams."\">> ;</a> <a href=\"".$filePath."? start=".(($allPages-1)*$limit).$otherParams."\">LAST</a>"; echo '<div class="pages">' . $pagination . '</div>'; } ?> <?php require_once('visitors_connections.php');//the file with connection code and functions //get the required data $visitor_ip = GetHostByName($_SERVER['REMOTE_ADDR']); $visitor_browser = getBrowserType(); $visitor_hour = date("h"); $visitor_minute = date("i"); $visitor_day = date("d"); $visitor_month = date("m"); $visitor_year = date("Y"); $visitor_refferer = GetHostByName($_SERVER['HTTP_REFERER']); $visitor_page = selfURL(); //write the required data to database mysql_select_db($database_visitors, $visitors); $sql = "INSERT INTO visitors_table (visitor_ip, visitor_browser, visitor_hour, visitor_minute, visitor_day, visitor_month, visitor_year, visitor_refferer, visitor_page) VALUES ('$visitor_ip', '$visitor_browser', '$visitor_hour', '$visitor_minute', '$visitor_day', '$visitor_month', '$visitor_year', '$visitor_refferer', '$visitor_page')"; $result = mysql_query($sql) or trigger_error(mysql_error(),E_USER_ERROR);?> <?php require_once('visitors_connections.php');//the file with connection code and functions if ($_GET['start'] == "") $start = 0; else $start = $_GET['start']; $limit = 20; $additionalQuery = "SQL_CALC_FOUND_ROWS "; mysql_select_db($database_visitors, $visitors); $query_visitors = "(SELECT ".$additionalQuery." * FROM visitors_table WHERE"; if ($_POST['day']!="") { $query_visitors .= " visitor_day = '".$_POST['day']."'"; } else { $query_visitors .= " visitor_day = ".date("d").""; if ($_POST['month']!="") { $query_visitors .= " AND visitor_month = '".$_POST['month']."'"; } else { $query_visitors .= " AND visitor_month = ".date("m").""; } if ($_POST['year']!="") { $query_visitors .= " AND visitor_year = '".$_POST['year']."'"; } else { $query_visitors .= " AND visitor_year = ".date("Y").""; }} $query_visitors .= " LIMIT $start,$limit)"; $insert_visitors = mysql_query($query_visitors, $visitors) or die(mysql_error()); $row_visitors = mysql_fetch_assoc($insert_visitors); $totalRows_visitors = mysql_num_rows($insert_visitors); $nbItems = mysql_result(mysql_query("Select FOUND_ROWS() AS nbr"),0,"nbr"); if ($nbItems>($start+$limit)) $final = $start+$limit; else $final = $nbItems; echo '<link href="style.css" rel="stylesheet" type="text/css" />'; echo '<table style="width:100%; border:1px dashed #CCC" cellpadding="3"> <form id="form1" name="form1" method="post" action="display_visits.php"> <tr> <td>day <select name="day" id="day"> <option value="" selected="selected"></option> <option value="01">01</option> <option value="02">02</option> <option value="03">03</option> <option value="04">04</option> <option value="05">05</option> <option value="06">06</option> <option value="07">07</option> <option value="08">08</option> <option value="09">09</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select></td> <td>Month <select name="month" id="month"> <option value="" selected="selected"></option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select></td> <td>Year <select name="year" id="year"> <option value="" selected="selected"></option> <option value="2007">2007</option> </select></td> <td><input type="submit" name="Submit" value="Submit" /></td> <td></td> </tr>'; echo '<tr> <td style="width:15%;border-bottom:1px solid #CCC">IP</td> <td style="width:15%;border-bottom:1px solid #CCC">Browser</td> <td style="width:15%;border-bottom:1px solid #CCC">Time</td> <td style="width:30%;border-bottom:1px solid #CCC">Refferer</td> <td style="width:25%;border-bottom:1px solid #CCC">Page</td> </tr>'; do { echo '<tr onmouseout="this.style.backgroundColor=\'\'" onmouseover="this.style.backgroundColor=\'#EAFFEA\ '"> <td>'.$row_visitors['visitor_ip'].'</td> <td>'.$row_visitors['visitor_browser'].'</td> <td>'.$row_visitors['visitor_hour'].':'.$row_visitors['visitor_minute'].'</td> <td>'.$row_visitors['visitor_refferer'].'</td> <td>'.$row_visitors['visitor_page'].'</td> </tr>'; } while ($row_visitors = mysql_fetch_assoc($insert_visitors)); paginate($start,$limit,$nbItems,"display_visits.ph p",""); ?> Quote Link to comment https://forums.phpfreaks.com/topic/138183-need-help-with-count-visitors/ Share on other sites More sharing options...
Maq Posted December 23, 2008 Share Posted December 23, 2008 ALTER TABLE visitors_table ADD visitors_visited INT(20); Quote Link to comment https://forums.phpfreaks.com/topic/138183-need-help-with-count-visitors/#findComment-722350 Share on other sites More sharing options...
zelllibin Posted December 23, 2008 Author Share Posted December 23, 2008 ok i added the table... but how do i get a count ??? and echo Quote Link to comment https://forums.phpfreaks.com/topic/138183-need-help-with-count-visitors/#findComment-722451 Share on other sites More sharing options...
Maq Posted December 23, 2008 Share Posted December 23, 2008 You need to update that table every time someone visits your site. UPDATE visitors_table SET visitors_visited = visitors_visited+1; You must utilize sessions if you don't want to add a visit each time that user goes to another page on your site, sort of like tracking them. This question could get messy when your specifications get involved. It's better that you read a tutorial about this. Try Googling "php tracking visitors". Quote Link to comment https://forums.phpfreaks.com/topic/138183-need-help-with-count-visitors/#findComment-722464 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.