login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Statistieken > Referers loggen

Referers loggen

Auteur: remy - 24 januari 2005 - 19:52 - Gekeurd door: Dennisvb - Hits: 5216 - Aantal punten: 2.14 (7 stemmen)




Met dit script kun je achterhalen waar je bezoekers vandaan komen.

De links worden opgeslagen in een logbestandje en kunnen bekeken worden in op een andere pagina.
stats.txt moet wel 0777 geschmod worden.


Code:
Index.php, dus waar gemeten moet worden:
  1. <?php
  2. $bestand = "stats.txt";
  3. $fp = fopen($bestand, "r");
  4. $inhoud = fread($fp, filesize ($bestand));
  5. fclose($fp);
  6. $delen = explode("*", $inhoud);
  7. $referers = explode("+", $delen[0]);
  8. $hits = explode("+", $delen[1]);
  9.  
  10. if($_SERVER['HTTP_REFERER'] == '') $_SERVER['HTTP_REFERER'] = "URL ingetypt / bookmark"; //als $server.. leeg is, dus ingetypt in titelbalk, dan wordt de waarde 'URL ingetypt / bookmark' meegegeven.
  11. if(strpos($inhoud, $_SERVER['HTTP_REFERER'])) //als de referer al bestaat
  12. {
  13. $arraynummer = array_search(" ".$_SERVER['HTTP_REFERER'], $referers);
  14. for($i = 0; $i < $arraynummer; $i ++) //oude waarden weer invoegen
  15. {
  16. $invoegen.= $hits[$i]."+";
  17. }
  18. $invoegen.= $hits[$arraynummer] + 1; //array $hits[$i] ophogen met 1
  19. $arraynummer = $arraynummer + 1;
  20. for($j = count($hits); $arraynummer < $j; $arraynummer ++ )
  21. {
  22. $invoegen.= "+".$hits[$arraynummer];
  23. }
  24. $fp = fopen($bestand, "w");
  25. fputs($fp,$delen[0]."*".$invoegen);
  26. fclose($fp);
  27. }
  28. else
  29. {
  30. $fp = fopen($bestand, "w");
  31. fputs($fp,$delen[0]." ".$_SERVER['HTTP_REFERER']."+*".$delen[1]."1+");
  32. fclose($fp);
  33. }
  34. ?>


stats.php of een andere naam, wat je zelf wilt:
  1. <?php
  2. $bestand = "stats.txt";
  3. $fp = fopen($bestand, "r");
  4. $inhoud = fread($fp, filesize ($bestand));
  5. fclose($fp);
  6. $delen = explode("*", $inhoud);
  7. $referers = explode("+", $delen[0]);
  8. $hits = explode("+", $delen[1]);
  9. if($_GET['q'] == 'referer')
  10. {
  11. echo "<table style=\"border:1px solid #c0c0c0;\" cellpadding=\"2\" cellspacing=\"0\" width=\"30%\" align=\"center\"><tr bgcolor=\"#c0c0c0\"><td colspan=\"3\" align=\"center\">Herkomst</td></tr>";
  12. for($i = 1; $i < count($referers) - 1; $i ++) //lusje om linkt te laen zien, had ook met $hits gemogen.
  13. {
  14. if($i%2){ echo "<tr bgcolor=\"#efefef\">"; }else{ echo "<tr bgcolor=\"#dddddd\">";}
  15. echo "<td<b>".$i."</b></td><td><a href=\"$referers[$i]\" target=\"blank\">".$referers[$i]."</a></td><td>(".$hits[$i].")</td></tr>"; //laat link uit array $referers zien en het bijhorende $hits.
  16. }
  17. }
  18. else
  19. {
  20. $ref = array_sum($hits) - $hits[0]; //waarden van alle array $hits, behalve $hits[0], want dit is de bookmark array
  21. echo "<table style=\"border:1px solid #c0c0c0;\" cellpadding=\"2\" cellspacing=\"0\" width=\"30%\" align=\"center\"><tr bgcolor=\"#c0c0c0\"><td colspan=\"2\" align=\"center\">Herkomst</td></tr><tr bgcolor=\"#efefef\"><td><b>".$referers[0]."</b></td><td>(".$hits[$i].")</td></tr>";
  22. if(isset($hits[2])) echo "<tr bgcolor=\"#dddddd\"><td><a href=\"?q=referer\">via referer ..</a></td><td> (".$ref.")</td></tr>"; //als er referers zijn, geef de link weer
  23. echo "</table>";
  24. }
  25.  
  26. ?>


voorbeeld stats.txt:
  1. URL ingetypt / bookmark+*0+
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Geen reacties (0)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.046s