Ik onderzoek het gedrag van een mensen op een website. Nu heb ik daar rijen ip-adressen gelogd en ik vroeg mij af of ik die ip-adressen op een of andere mannier kan sorteren per land. Ik ben namelijk alleen geïnteresseerd in mensen uit Nederland.

Ik weet dan sommige statistieken pakken aangeven waarvandaan een bezoeker komt. Maar ik weet niets van een systeem in de ip adressen range. Gebruiken ze wel het ip adres of halen ze de locatie gegeven uit de whois?

Graag jullie gedachten hierover wat er mogelijk is en wat niet.

Alvast bedankt voor het meedenken.

Gr,MaB


Zoek via internet naar geolitecity blocks en daar kan je 2 cvs bestanden downloaden. Importeer ze in 2 tabels en volg de hieronder vermelde stappen.
De rest komt vanzelf

<?PHP
$remoteIP = het adres dat je ophaald;
/*$remoteIP = $_SERVER['REMOTE_ADDR'];*/
if (strstr($remoteIP, ', ')) {
$ips = explode(', ', $remoteIP);
$remoteIP = $ips[0];
}
$fullhost = gethostbyaddr($remoteIP);
echo $fullhost;
if(substr($fullhost,0,1) === "A")
{
/* $nn = 1
{

}
$nn = $nn-1
echo "<br>".substr($fullhost,1,$nn);*/
}
echo "<br>".substr($fullhost,-3)."<br>";
$ips = split ("\.", "$remoteIP");
$loc = ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
echo $loc."<br>";
$server = "localhost";
$user = "";
$pass = "";
$database = "database";
/* connectie naar mysql */
$dbh = mysql_connect($server,$user,$pass);
/* connectie met de database */
mysql_select_db($database,$dbh) or die('Database niet beschikbaar '.mysql_error());
/*aantal kwekers*/
$requete_sql = "SELECT * FROM geolitecityblocks where $loc between startIpNum-1 and endIpNum+1";
/* het resultaat opbouwen */
$query_result = mysql_query($requete_sql,$dbh);
/* vind ie iets? */
if (mysql_num_rows($query_result) > 0)
{
/* en nu echot ie de info in de db die bij die rij hoort die gekozen is */
while($row = mysql_fetch_array($query_result))
{
$locld = $row["locld"];
}
}
$requete_sql = "SELECT * FROM geolitecitylocation where $locld = locld";
/* het resultaat opbouwen */
$query_result = mysql_query($requete_sql,$dbh);
/* vind ie iets? */
if (mysql_num_rows($query_result) > 0)
{
/* en nu echot ie de info in de db die bij die rij hoort die gekozen is */
while($row = mysql_fetch_array($query_result))
{
$city = $row["city"];
$country = $row["country"];
}
}
echo $city."<br>";
echo $country."<br>";
?>
Heel erg bedankt voor je hulp Marc. Hiermee ga ik er zeker komen.

Gr,MaB

Reageren