login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Statistieken teller (Opgelost)

Offline keverineke - 16/07/2012 20:25
Avatar van keverinekeLid Hallo, ik heb een teller die de unieke bezoeken telt en op die manier toont:
Vandaag:
Deze week:
Deze maand:
Dit jaar:
Alle:

Nu dit werkt wel, maar het enige dat hij naar de database stuurt is het IP adres en de datum, meer niet. Dus ik wil daar graag nog het uur bij, browser, referer, host. En als het kan ook nog alles is hits ook, maar dit schijnt wat moeilijker te zijn...

Swat, ik heb het zelf proberen werkend te krijgen maar het lukt niet 100%
Kan iemand de fout vinden?

Script 1 (includes/teller.php) telt en stuurt door naar database:
  1. <?php
  2. // includes/teller.inc.php
  3.  
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. $datum = date("d/m/Y");
  6. $uur = date("H:i");
  7. $browser = " ".$_SERVER["HTTP_USER_AGENT"]." ";
  8. $referer = " ".$_SERVER["HTTP_REFERER"]." ";
  9. $host = " ".$_SERVER['HTTP_HOST']." ";
  10.  
  11. $insertennodig = mysql_query("SELECT datum FROM teller WHERE ip = '".$_SERVER['REMOTE_ADDR']."' AND datum = CURDATE() LIMIT 1")or die(mysql_error());
  12. while(mysql_num_rows($insertennodig) < 1)
  13. {
  14. mysql_query("INSERT INTO `teller` (`ip`, `datum`, `uur`, `browser`, `referer`, `host`) VALUES('".$ip."', '".$datum."', '".$uur."', '".$browser."', '".$referer."', '".$host."' ") or die(mysql_error());
  15. }
  16.  
  17. if(!(mysql_num_rows($insertennodig) > 0))
  18. {
  19. mysql_query("INSERT INTO `teller` (`ip`, `datum`, `uur`, `browser`, `referer`, `host`) VALUES('".$ip."', '".$datum."', '".$uur."', '".$browser."', '".$referer."', '".$host."' ") or die(mysql_error());
  20. }
  21.  
  22. else { mysql_query("UPDATE teller SET hits=hits+1 WHERE ip = '".$_SERVER['REMOTE_ADDR']."'") or die (mysql_error()); }
  23.  
  24. $qry = mysql_query("
  25. SELECT
  26.  
  27. (
  28. SELECT COUNT(datum)
  29. FROM teller
  30. WHERE datum = CURDATE()
  31. ) AS bezoekersvandaag,
  32.  
  33. (
  34. SELECT COUNT(datum)
  35. FROM teller
  36. WHERE datum >= CURDATE( ) - INTERVAL 1 WEEK
  37. ) AS bezoekersdezeweek,
  38.  
  39. (
  40. SELECT COUNT(datum)
  41. FROM teller
  42. WHERE datum >= CURDATE( ) - INTERVAL 1 MONTH
  43. ) AS bezoekersdezemaand,
  44.  
  45. (
  46. SELECT COUNT(datum)
  47. FROM teller
  48. WHERE datum >= CURDATE() - INTERVAL 1 YEAR
  49. ) AS bezoekersditjaar,
  50.  
  51. (
  52. SELECT COUNT(datum)
  53. FROM teller
  54. ) AS bezoekersaltijd
  55.  
  56.  
  57.  
  58. ")or die(mysql_error());
  59.  
  60. /*
  61. if(mysql_num_rows($qry) < 1)
  62. {
  63. echo 'er waren nog geen visits, maar deze "error" ga je nooit zien, want jij bent al een bezoeker die toegevoegd zou moeten zijn^^';
  64. }
  65. else
  66. {
  67. */
  68. if($res = mysql_fetch_assoc($qry))
  69. {
  70. echo '<div class="style2"><b>BEZOEKERS</b><br /></div>';
  71. echo '<table width="95%" cellpadding="0" cellspacing="0" style="text-align: center;" class="style2">';
  72. echo '<tbody align="center">';
  73. echo '<tr style="text-align: left;">';
  74. echo '<td width="60%">Vandaag:</td>';
  75. echo '<td style="text-align: right;">'.$res['bezoekersvandaag'];'</td>';
  76. echo '</tr>';
  77. echo '<tr style="text-align: left;">';
  78. echo '<td>Deze week:</td>';
  79. echo '<td style="text-align: right;">'.$res['bezoekersdezeweek'];'</td>';
  80. echo '</tr>';
  81. echo '<tr style="text-align: left;">';
  82. echo '<td>Deze maand:</td>';
  83. echo '<td style="text-align: right;">'.$res['bezoekersdezemaand'];'</td>';
  84. echo '</tr>';
  85. echo '<tr style="text-align: left;">';
  86. echo '<td>Dit jaar:</td>';
  87. echo '<td style="text-align: right;">'.$res['bezoekersditjaar'];'</td>';
  88. echo '</tr>';
  89. echo '<tr style="text-align: left;">';
  90. echo '<td>Alle</td>';
  91. echo '<td style="text-align: right;">'.$res['bezoekersaltijd'];'</td>';
  92. echo '</tr>';
  93. echo '<tr style="text-align: left;">';
  94. echo '<td>Alle hits:</td>';
  95. echo '<td style="text-align: right;">'.$res['hits'];'</td>';
  96. echo '</tr>';
  97. echo '</tbody>';
  98. echo '</table>';
  99.  
  100. }
  101.  
  102. //}
  103. ?>


En dit is het script dat in het beheerders paneel komt waar ik alles opvraag:
  1. <?php
  2. // admin/teller.php
  3. if(!defined("site")) {
  4. echo "<br /><center>Access denied!</center> \n";
  5. } else {
  6.  
  7. ?>
  8. <div class="title">Overzicht teller (statistieken)</div>
  9.  
  10. <div class='style1'><br /><a href='javascript:history.back(1)'>&lt; Ga terug!</a><br /><br /></div>
  11.  
  12. <?php
  13.  
  14.  
  15. $sql = "SELECT * FROM teller ORDER BY datum DESC";
  16. $res = mysql_query($sql) or die(mysql_error());
  17.  
  18. echo '<table border="0" width="95%" align="center" cellspacing="0">
  19. <tr>
  20. <td align="center" width="5%" class="top_td"><div class="style2"><b>ID:</b></div></td>
  21. <td align="center" width="16%" class="top_td"><div class="style2"><b>Datum:</b></div></td>
  22. <td align="center" width="16%" class="top_td"><div class="style2"><b>IP adres:</b></div></td>
  23. <td align="center" width="16%" class="top_td"><div class="style2"><b>Referer:</b></div></td>
  24. <td align="center" width="16%" class="top_td"><div class="style2"><b>Host:</b></div></td>
  25. <td align="center" width="27%" class="top_td"><div class="style2"><b>Browser:</b></div></td>
  26. </tr>
  27. </table>';
  28.  
  29. if($sql) {
  30. if(mysql_num_rows($res) == 0) {
  31. echo '<div class="style2"><i><center><br>Er werden geen statistieken gevonden.</center></i></span>'; }
  32.  
  33. while($rij = mysql_fetch_array($res)) {
  34.  
  35. echo '<table border="0" width="95%" align="center" cellspacing="0">
  36. <tr>
  37. <td align="center" width="5%" class="style2">'.$rij['id'].'</td>
  38. <td align="center" width="16%" class="style2">'.$rij['datum'].' om '.$rij['uur'].'</td>
  39. <td align="center" width="16%" class="style2">'.$rij['ip'].'</td>
  40. <td align="center" width="16%" class="style2">'.$rij['referer'].'</td>
  41. <td align="center" width="16%" class="style2">'.$rij['host'].'</td>
  42. <td align="center" width="27%" class="style2">'.$rij['browser'].'</td>
  43. </tr>
  44. </table>';
  45. }
  46. }
  47. }
  48. ?>
  49.  
  50.  
  51. <?php
  52. }
  53. ?>

9 antwoorden

Gesponsorde links
Offline Martijn - 17/07/2012 09:44
Avatar van Martijn Crew PHP Je leert er niets van door dit nu met rust te laten, maar als je statistieken wilt moet je Google Analytics op je site zetten. Zo mega veel meer informatie dan jij ooit zult gaan archiveren 
Offline keverineke - 17/07/2012 15:53 (laatste wijziging 17/07/2012 15:54)
Avatar van keverineke Lid Die staat er al op, maar ik wil dit graag in mijn admin paneel zetten, is makkelijker om terug te vinden voor die mens, en zo wil ik wat uitproberen 

Ben zeker dat er weer zo'n dom foutje inzit maar dat ik die zelf niet inzie 
Offline icemar - 17/07/2012 17:23
Avatar van icemar Lid Maak dan gebruik van de api daarvoor.  
Bedankt door: Martijn
Offline keverineke - 17/07/2012 20:39 (laatste wijziging 17/07/2012 20:40)
Avatar van keverineke Lid api? 
Kga da eens googelen 
Offline icemar - 18/07/2012 08:31
Avatar van icemar Lid Bij deze de link  

https://develop.../reporting/
Offline keverineke - 18/07/2012 12:37
Avatar van keverineke Lid Wat is API vergeleken met Google Analytics ?
Offline Martijn - 18/07/2012 16:10
Avatar van Martijn Crew PHP API is geen naam, maar een afkoring, een API is een (klein) programmaatje. Google maps is een praktisch voorbeeld van een api. Mensen zetten niet heel google maps op hun site (met kaarten en software en navigatie), maar gebruiken de google maps api om een map op hun website te zetten.

Je kunt het een beetje zien als 'snippet' of 'app'

De Google analytics api is dus een stukje code die je instelt zodat het informatie uit je google analytics in het behoor ( of wat dan ook) kan weergeven
Offline keverineke - 19/07/2012 10:49
Avatar van keverineke Lid Aja, enj die kan je binnen je template weergeven dan?

Is makkelijker dan op google zelf te kijken dan...
Offline Pieter - 19/07/2012 16:32
Avatar van Pieter Gouden medaille

SEO guru
Dat kan je ja, als je de juiste data ophaalt met je api. 
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s