Referers loggen 
                    
                    Auteur: remy Dennisvb  
                    
                        
		
		
		 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:
    
    
        
            
                 
<?php
  $bestand = "stats.txt";
  $fp = fopen($bestand, "r");
  $inhoud = fread($fp, filesize ($bestand));
  fclose($fp);
  $delen = explode("*", $inhoud);
  $referers = explode("+", $delen[0]);
  $hits = explode("+", $delen[1]);
	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.
		if(strpos($inhoud, $_SERVER['HTTP_REFERER']))	//als de referer al bestaat
		{
			$arraynummer = array_search(" ".$_SERVER['HTTP_REFERER'], $referers);			
			for($i = 0; $i < $arraynummer; $i ++)	//oude waarden weer invoegen
			{
				$invoegen.= $hits[$i]."+";
			}
			  $invoegen.= $hits[$arraynummer] + 1;	//array $hits[$i] ophogen met 1
			  $arraynummer = $arraynummer + 1;
			for($j = count($hits); $arraynummer < $j; $arraynummer ++ )
			{
				$invoegen.= "+".$hits[$arraynummer];
			}		
			  $fp = fopen($bestand, "w");
			  fputs($fp,$delen[0]."*".$invoegen);
			  fclose($fp);		
		}	
		else
		{		
			$fp = fopen($bestand, "w");
			fputs($fp,$delen[0]." ".$_SERVER['HTTP_REFERER']."+*".$delen[1]."1+");
			fclose($fp);			
		}
?>
 
             
            <?php 
  $bestand  =  "stats.txt" ; 
  $fp  =  fopen ( $bestand ,  "r" ) ;    $referers  =  explode ( "+" ,  $delen [ 0 ] ) ;   
	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. 
		if ( strpos ( $inhoud ,  $_SERVER [ 'HTTP_REFERER' ] ) ) 	//als de referer al bestaat  		{ 
			$arraynummer  =  array_search ( " " . $_SERVER [ 'HTTP_REFERER' ] ,  $referers ) ; 			 			for ( $i  =  0 ;  $i  <  $arraynummer ;  $i  ++ ) 	//oude waarden weer invoegen 
			{ 
				$invoegen .=  $hits [ $i ] . "+" ; 
			} 
			  $invoegen .=  $hits [ $arraynummer ]  +  1 ; 	//array $hits[$i] ophogen met 1 
			  $arraynummer  =  $arraynummer  +  1 ; 
			for ( $j  =  count ( $hits ) ;  $arraynummer  <  $j ;  $arraynummer  ++  )  			{ 
				$invoegen .=  "+" . $hits [ $arraynummer ] ; 
			} 		
			  $fp  =  fopen ( $bestand ,  "w" ) ;  			  fputs ( $fp , $delen [ 0 ] . "*" . $invoegen ) ;  		} 	
		else 
		{ 		
			$fp  =  fopen ( $bestand ,  "w" ) ;  			fputs ( $fp , $delen [ 0 ] . " " . $_SERVER [ 'HTTP_REFERER' ] . "+*" . $delen [ 1 ] . "1+" ) ;  		} 
?> 
 
         
     
 
    
    
        
            
                
<?php
  $bestand = "stats.txt";
  $fp = fopen($bestand, "r");
  $inhoud = fread($fp, filesize ($bestand));
  fclose($fp);
  $delen = explode("*", $inhoud);
  $referers = explode("+", $delen[0]);
  $hits = explode("+", $delen[1]);
if($_GET['q'] == 'referer')
{
	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>";
	for($i = 1; $i < count($referers) - 1; $i ++) //lusje om linkt te laen zien, had ook met $hits gemogen.
	{
		if($i%2){ echo "<tr bgcolor=\"#efefef\">"; }else{ echo "<tr bgcolor=\"#dddddd\">";}
		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.
	}
}
else
{
	$ref = array_sum($hits) - $hits[0];	//waarden van alle array $hits, behalve $hits[0], want dit is de bookmark array
	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>"; 
	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
	echo "</table>";
}
?> 
             
            <?php 
  $bestand  =  "stats.txt" ; 
  $fp  =  fopen ( $bestand ,  "r" ) ;    $referers  =  explode ( "+" ,  $delen [ 0 ] ) ;  if ( $_GET [ 'q' ]  ==  'referer' ) 
{ 
	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>" ;  	for ( $i  =  1 ;  $i  <  count ( $referers )  -  1 ;  $i  ++ )  //lusje om linkt te laen zien, had ook met $hits gemogen.  	{ 
		if ( $i % 2 ) {  echo "<tr bgcolor=\" #efefef\" >" ;  } else {  echo "<tr bgcolor=\" #dddddd\" >" ; }  		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.  	} 
} 
else 
{ 
	$ref  =  array_sum ( $hits )  -  $hits [ 0 ] ; 	//waarden van alle array $hits, behalve $hits[0], want dit is de bookmark array  	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>" ;   	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  } 
 
?> 
 
         
     
  
    
    
        
            
                 URL ingetypt / bookmark+*0+ 
             
            URL ingetypt /  bookmark+* 0 + 
 
         
     
  Download code (.txt) 
                     
                     
                
                
            
            
                    
 
            
                
                Stemmen  
                
                Niet ingelogd.