Gå til innhold

IP-notering på websiden


Anbefalte innlegg

Skrevet

Finnes det ferdig php-skript som noterer ned alle ip-adressene som har vært inne på en webside? jeg skulle gjerne hatt en som noterer ned alle ip-adressene som har vært på besøk på sia mi. gjerne slik at det noterer ned ipadresser for hver dag... en liste for hver dag hvis dere sjønner ;)

Videoannonse
Annonse
Skrevet

Må vel bli noe slikt:

$ip = $_SERVER["REMOTE_ADDR"];
$tid = time();

$filnavn = $today = date("Ymd"); 

$linje = $tid."\t".$ip."\n";

//skrive til $filnavn

Skrevet
Må vel bli noe slikt:

$ip = $_SERVER["REMOTE_ADDR"];
$tid = time();

$filnavn = $today = date("Ymd"); 

$linje = $tid."\t".$ip."\n";

//skrive til $filnavn

Hø?? Den skjønte ikke jeg (LES: 5. linja($filnavn = $to...)) :hmm:

Skrevet
Hø?? Den skjønte ikke jeg (LES: 5. linja($filnavn = $to...)) :hmm:

$filnavn = $today = date("Ymd"); 

Denne setter både $filnavn og $today til date("Ymd");

Det er unødvendig, og det skal være:

$filnavn = date("Ymd"); 

Skrevet

Hva er det du planlegger her?

 

Bare å legge til ip'ene til ei fil for ingen grunn.

Eller skal du lage en teller eller noe lignende av dette? :)

Skrevet
Hva er det du planlegger her?

 

planlegger å lagre ipene for å se hvor mange unike besøkende jeg får per dag. har en teller nå som teller unike besøkende, men har fått en følele for at denne ikke stemmer. så jeg har tenkt å logge alle ipene for å sjekke om den telleren stemmer... *dårlig forklart*

Skrevet

Her har du en teller jeg har laget..

Teller både totalt unike besøkende og unike besøkende idag :)

 

<?php

$ip = $_SERVER['REMOTE_ADDR'];
$dato = strftime("%Y-%m-%d");

//Besøkende Idag
$unike_idag = @mysql_query("SELECT * FROM  besøkende WHERE dato='$dato'");
$besøkende_idag = @mysql_fetch_array($unike_idag);
//Besøkende Idag Slutt


$count = @mysql_query("SELECT * FROM besøkende");

if (@mysql_num_rows($count) <= 0)
{ $besøkende = ("1"); }

else
{ $besøkende = @mysql_num_rows($count); }

$ips = @mysql_query("SELECT * FROM `besøkende` WHERE ip = '$ip'");

if (@mysql_num_rows($ips) <= 0)
{@mysql_query("INSERT INTO `besøkende` (ip, dato) VALUES ('$ip', '$dato')"); }

?>

 

Ja.. Tror dette skal funke :)

 

Så bare legger du til:

echo ("Unike Besøkende: $besøkende<br>Unike Besøkende Idag: $besøkende_idag");

 

Tror dette skal funke ja :)

Skrevet (endret)
Mellet, kan du fikse sånn at den logger antall unike besøkende i et txt eller html-dokument?

Hmm, har aldri holdt på med flatfil.

Så kan ikke det.

Har holdt meg til Database basert.

 

 

Kansje noen andre her kan gjøre den om til en flatfil basert teller?

Endret av Mellet
Skrevet (endret)

Fikset det for deg, jeg. :)

 

<?php

// DENNE FILEN SKRIVER UT ANTALL BESØKENDE. Ressurskrevende, så ikke bruk denne til annet enn administrative formål.

$ip = $_SERVER['REMOTE_ADDR'];
$dato = strftime("%Y%m%d");

//Besøkende i dag
$file = file("$dato.txt");
$unike = count($file);
//Besøkende i dag slutt

echo "Det har vært $unike unike besøkende på websiden i dag.";

?>

 

<?php

// Denne snutten lagrer en ny IP (besøkende) i fila. Brukes for å telle opp besøkende. Ineffektiv(!), bør definitivt vurdere caching/database hvis siden har flere enn et par hundre besøkende om dagen.

$ip = $_SERVER["REMOTE_ADDR"];
$tid = time();

$filnavn = date("Ymd"); 

$linje = $tid."\t".$ip."\r\n";

$file = file("$filnavn.txt");
$already_counted = false;
foreach($file as $line)
{
if($linje == $line){$already_counted = true;break;}
if(!$already_counted)
{
$fp = fopen("$filnavn.txt", "a");
fwrite($fp, $linje);
fclose($fp);
}

?>

 

Uff, for en fæl og rotete kode jeg mikset sammen der. Noen som melder seg frivillig til å rydde opp? :p

 

 

Edit: om du beslutter å heller bruke en databasebasert teller; ikke gå for Mellet sin. Den er ikke på langt nær så effektiv eller velskrevet som den kunne vært. Spør heller i denne tråden, så kan jeg sette sammen noe nytt til deg.

Endret av Lokaltog
Skrevet
Edit: om du beslutter å heller bruke en databasebasert teller; ikke gå for Mellet sin. Den er ikke på langt nær så effektiv eller velskrevet som den kunne vært. Spør heller i denne tråden, så kan jeg sette sammen noe nytt til deg.

Hvis du har tid og lyst Lokaltog, kan du ikke renskrive Mellets kode likevel? Er gøy å se hvor rent det kan bli :)

Skrevet
jeg ønsker ikke denne database basert, men vil ha den flatfil basert! :)

Svarte til Fjartan.

 

Du gir magert med informasjon om hva slags feil som oppstår når du kjører scriptsnutten jeg postet ovenfor. Får ikke hjulpet deg mer før du kommer med mer informasjon.

Skrevet (endret)

Lurer litt på å bruke noe ala dette i et auth-access login-script. Nå har jeg denne koden i login:

 

<?php
include('config.php')
$ip = $_SERVER["REMOTE_ADDR"];
$ip = @mysql_query("INSERT INTO ip-table (ip, date) VALUES ('$ip', '$date')")or die(mysql_error());
?>

 

Så hvordan får jeg denne infoen til å skjekkes på index.php? Sliter litt. Er ikke så flink i php. :blush:

Derfor hadde det vært koselig om noen kunne laget en spørring til databasen for meg.

Er ikke sikker på at den første koden funker engang. :whistle:

*Øvelse gjør mester*

Endret av ett

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...