Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: MySQL Kävijälaskuri aikatunnisteella

JyKKemus [20.12.2007 12:17:57]

#

Laskuri etsii ensin taulusta ip numerollasi että oletko käynyt 30 minuuttia sitten viimeksi täällä jos olet niin se lisää kertoihin +1 ja muuttaa viimeksi tulo aikaasi nyky aikaan. Jos et ole niin laskuri lisää ip numerosi tauluun ja nyky ajan koska olet tullut ja koska kävit viimeksi.

<?
//Lisää tämä sivulle jossa haluat laskurin sijaitsevan
include('laskuri.php');
?>

yhteys.php

<?

$yhteys = mysql_connect("localhost","xxx","xxx") or die("Yhdistäminen ei onnistunut");;

mysql_selectdb("xxx") or die ("Virhe yhdistettäessä tietokantaan");

?>

laskuri.php

<?php

include('yhteys.php');

$tunnistus_aika = 3600; // 1 Tunti

$ip = $_SERVER['REMOTE_ADDR'];

$query = mysql_query("SELECT ip, DATE_FORMAT(first_load, '%d.%m.%Y %H:%i:%s') as ekalataus, DATE_FORMAT(last_load, '%d.%m.%Y %H:%i:%s') as vikalataus FROM counter WHERE ip='$ip' AND (".time()." - UNIX_TIMESTAMP(last_load)) < {$tunnistus_aika}",$yhteys) or die("Eka ei onnistunut");;

	if(mysql_num_rows($query) < 1){

		mysql_query("INSERT INTO counter (ip, first_load, last_load, lataukset) VALUES ('$ip', NOW(), NOW(), 1)",$yhteys);}

	else {

		mysql_query("UPDATE counter SET last_load = NOW(), lataukset = lataukset + 1 WHERE ip='$ip' AND (".time()." - UNIX_TIMESTAMP(last_load)) < {$tunnistus_aika}",$yhteys);}}

?>

Tällä saat taulun lisätty mysql:ään

CREATE TABLE `counter` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(20) NOT NULL,
  `first_load` datetime NOT NULL,
  `last_load` datetime NOT NULL,
  `lataukset` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;

Vastaus

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

Tietoa sivustosta