Gå til innhold

Vise IP i besøksteller ?


Anbefalte innlegg

hei, jeg har denne koden i min besøksteller:

 

<?php
 $file = 'counter.txt';

 if(!file_exists($file))
 {
     $handle = fopen($file, 'w');
     fwrite($handle, 0);
     fclose($handle);
 }

 $count = file_get_contents($file);
 $count++;

 if(is_writable($file))
 {
     $handle = fopen($file, 'w+');
     fwrite($handle, $count);
     fclose($handle);
 }
 else
 {
     echo 'Could not increment the counter!<br />';
 }

 echo number_format($count).' Hits';
?>

 

Det jeg lurte på om det var mulig å vise IP'ene til besøkende i en liste under dette ?

 

Eller noe liknende?

 

Takk :D

Lenke til kommentar
Videoannonse
Annonse
Heisann, det kan gjøres så enkelt som dette:

 

<?php

echo "Your IP is $_SERVER["REMOTE_ADDR"]";

?>

7758810[/snapback]

Jeg har ikke peiling, på PHP, jeg fant denne koden på nettet, og jeg skal skrive IP'en i counter.txt ikke vises på skjermen, kan du vise meg den hele og fulle koden ? :)

 

Takk

Lenke til kommentar
Kan ikke du bruke et ferdig script? Finner alltids en god open-source løsning som dekker dine behov om du skal få litt oversikt over trafikken.

7758926[/snapback]

Ja, har du noen forslag ?

Det skal være ganske enkelt. Ikke noe glorete tall som blinker på siden som en GIF animasjon. Bare jeg som har tilgang til counter.txt med antall besøkende og en liste over IP'er nedover

Lenke til kommentar

Ok, jeg fant dette:

<?php

if (!headers_sent()) session_start();






$file =	"counter.txt";  // Path to counter.txt file
$print = 1;  	// Set to 0 if you don't need
   // the script to print out the count
   // in your HTML page

$blockedip = "24.118.230.24";	// Blocked IP addresses, 
   // seperate with a comma




function output($count) { return "


$count



";}



$block = false;

$fhandle = fopen($file, "r");
$count = explode(",",fread($fhandle, filesize($file)));
$pcount = $count[0];
fclose($fhandle);

$ip = getenv("REMOTE_ADDR");
$blockedip = explode(",",$blockedip);
foreach($blockedip as $i) { 
if (trim($value) == $ip) { $block = true; break; } }

if (!$_SESSION['hello'] and !$block and $count[1] != $ip) {

$_SESSION['hello'] = true;
$count[0] = $count[0] + 1;
}

if ($count[0] != $pcount) {

$wcount = $count[0].','.$ip;
$fhandle = fopen($file, "w");
flock($fhandle, LOCK_EX);
fwrite($fhandle, $wcount);
flock($fhandle, LOCK_UN);
fclose($fhandle);
}

if ($print) echo trim(output($count[0]));

?>

Men den viser bare den forrige besøkeren på siden, så den "overwriter" den som sto der fra før, jeg vil gjerne at de skal fortsette i en liste nedover. Eks:

 

1. 127.0.0.1

2. 194.68.1.2

3. ...........

osv..

 

Det er vel ikke så vanskelig for dere som kan dette ? :p

 

Takk for hjelpen :)

Endret av glucchip
Lenke til kommentar

Du kan jo logge IPen ved å legge til følgende kode:

 


$file2 = 'iplogg.txt';

$ip = $_SERVER['REMOTE_ADDR']."/n";

if(is_writable($file))
{
    $handle = fopen($file, 'w+');
    fwrite($handle, $ip);
    fclose($handle);
}
else
{
    echo 'Could not log IP!<br />';
}

 

Denne koden hopper over trinnet med å sjekke om filen "iplogg.txt" eksister, så vær sikker på at den eksisterer før du kjører scriptet, hvis ikke blir det nok no feilmeldinger ;)

Endret av SimDaDim
Lenke til kommentar
Du kan jo logge IPen ved å legge til følgende kode:

 


$file2 = 'iplogg.txt';

$ip = $_SERVER['REMOTE_ADDR']."/n";

if(is_writable($file))
{
    $handle = fopen($file, 'w+');
    fwrite($handle, $ip);
    fclose($handle);
}
else
{
    echo 'Could not log IP!<br />';
}

 

Denne koden hopper over trinnet med å sjekke om filen "iplogg.txt" eksister, så vær sikker på at den eksisterer før du kjører scriptet, hvis ikke blir det nok no feilmeldinger ;)

7763308[/snapback]

Og den skal jeg bare putte inn i den koden jeg postet over her ?

Lenke til kommentar

<?php
$file = 'counter.txt';

if(!file_exists($file))
{
    $handle = fopen($file, 'w');
    fwrite($handle, 0);
    fclose($handle);
}

$count = file_get_contents($file);
$count++;

if(is_writable($file))
{
    $handle = fopen($file, 'w+');
    fwrite($handle, $count);
    fclose($handle);
}
else
{
    echo 'Could not increment the counter!<br />';
}

$file2 = 'iplogg.txt';

$ip = $_SERVER['REMOTE_ADDR']."/n";

if(is_writable($file))
{
   $handle = fopen($file, 'w+');
   fwrite($handle, $ip);
   fclose($handle);
}
else
{
   echo 'Could not log IP!<br />';
}

echo number_format($count).' Hits';
?>

 

Skal vi se om ikke det ble riktig da... hmm...

 

Jo, tror det skal stemme... kan være at slæshen før n-en er feil vei... husker ikke helt.

Endret av SimDaDim
Lenke til kommentar

Nå har jeg prøvd så mange ganger at jeg gir opp...

Kan ikke noen bare finne et enkelt script jeg legger index.php som skriver nr. på besøkende og IP, eller noe i nærheten?

 

Som ikke overskriver men skriver på ny linje nedover.

 

Jeg har prøvd med fopen ($filename , "a"); og.

 

 

Vær så snill. Jeg må ha en som funker til imorgen ettermiddag.

 

Takk for all hjelp :roll:

Endret av glucchip
Lenke til kommentar

Jeg bruker denne:

<?php

/* Don't forget to CHMOD $file to 777 */
$file = "count.txt";

// Obtain users IP address
$ipadd = $_SERVER['REMOTE_ADDR'];
$addip = "TRUE";
$hits = 0;

if (!file_exists($file)) {
   echo "$file does not exist!";
   exit;
}


// Open $file and search each line (IP address) for a match
$fp = fopen($file,"r");
while (!feof($fp)) {
   $line = fgets($fp, 4096); //gets one line at a time
   $line=trim($line);
   if ($line != "") {
       $hits++;
   }
   // If IP is already logged
   if ($line==$ipadd) {
       $addip = "FALSE";
   }
}
fclose($fp);

// If the IP was not previously logged, append it to $file
if ($addip == "TRUE") {
   $fp = fopen($file,"a");
   fwrite($fp, "\n");
   fwrite($fp, $ipadd);
   fclose($fp);
   $hits++;
}

// Display hits
echo "<center>Antall besøkende: $hits";
?>

 

(opprett count.txt og chmod 777)

 

Edit:

Denne teller kun UNIKE IP'er, dvs at en og samme IP vil bare bli telt EN gang!

Endret av ZoRaC
Lenke til kommentar

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...