Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Kävijät hienoon taulukkoon

soppa [08.06.2004 19:11:41]

#

Tällänen hieno koodi joka hakee kävijältä vähän tieto ja sitten tuossa toisessa tiedostossa printtaa näkyville hienoon taulukkoon. Tämä kirjottaa vain kerran kävijän sinne kavijat.txt tiedostoon vaikka se kävijä olis refreshannu monta kertaa peräkkäin. Tässä on viivenä puoli tuntia mutta sen voi muuttaa ihan mielensä mukaan. Se viive on juuri siksi että jos sama kävijä on ollut viimeisen puolen tunnin aikana sivulla sitä ei kirjoteta uudelleen sinne kavijat.txt tiedostoon.

Tämä ei ole ihan omin tekemä mutta oon kuitenkin muunellut sitä. Kiitos alkuperäiselle tekijälle! ;D

1. Tee tiedosto kavijat.txt ja CHMODaa se 777
2. Muuta ei sitten tarvitse tietää... Kommenteja saa antaa!

counter.php

<?php

 $filu = "kavijat.txt";
 $ip_time = false;
 $date = DATE("d.m.Y H.m.s");
 $info = $_SERVER['HTTP_USER_AGENT'];
 $host = @gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]);

foreach(file($filu) as $rivi){  $rivi = explode("|",$rivi);

  if($rivi[0] == $_SERVER['REMOTE_ADDR']) $ip_time = $rivi[1]; }
  if(!$ip_time /* eli jos ip:tä ei löydy tiedostosta */ || $ip_time <= (time()-3600)){

  $a = fopen($filu,"a");
  fwrite($a,$_SERVER['REMOTE_ADDR']."|".time()."|".$host."|".$date."|".$info."|\r\n\r\n");
  fclose($a);}

 ?>

taulukko.php

 <table width="680" height="20" cellpadding="0" cellspace="0" style="border: 1px; border-style: solid; border-color: #000000; ">

  <tr>
   <td width="136" align="center">IP</td>
   <td width="136" align="center">Serial</td>
   <td width="136" align="center">Host</td>
   <td width="136" align="center">Time & Date</td>
   <td width="136" align="center">Web Browser</td>
  </tr>
 </table>
   <br>
<table width="680" height="100%" cellpadding="3" cellspace="3" style="border: 1px; border-style: solid; border-color: #000000; ">

<?php

$filu = "kavijat.txt";
$info = $_SERVER['HTTP_USER_AGENT'];

foreach(file($filu) as $rivi){  $rivi = explode("|",$rivi);    if($rivi[0] == $_SERVER['REMOTE_ADDR']) $ip_time = $rivi[1]; }

if(!$ip_time /* eli jos ip:tä ei löydy tiedostosta */ || $ip_time <= (time()-3600));

foreach(file($filu) as $rivi)
{
    $osat = explode("|",$rivi);
    print '<tr><td width="170" align="center">'.$osat[0].'</td><td width="170" align="center">'.$osat[1].'</td><td width="170" align="center">'.$osat[2].'</td><td width="170" align="center">'.$osat[3].'</td><td width="170" align="center">'.$osat[4].'</td></tr>';

}

?>

</table>

käyttö

Tämä laitetaan sille sivulle mille halutaan ton tiedonhakijan hakevan tietonsa. Siis tämä on vaikka etusivu:

<html>
 <head>
  <title>Home</title>
 </head>
  <body>

   <?php

    include("counter.php");

   ?>

  </body>
</html>

ja nyt kaikki jotka ovat olleet sivulla index.php rekisteröityivät tuohon kavijat.txt ja sitten ne näkyvät tuossa taulukko.php ssä

soppa [08.06.2004 19:14:19]

#

Tossa taulukko.php tiedostossa on pari riviä extraa jotka tulivat kun käytin copy-pastea...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta