Karl Erik Christensen <no...@none.invalid> writes:
> Den 11-11-2012 14:56, Birger Sørensen skrev:
> > session_start();
> >
> > if (!isset($_SESSION['tid']) || ($_SESION['tid'] < date('i)+10)) {
> > $sql = "INSERT INTO ip_adresser (ip) VALUES ('$ip_adress')";
> > $result = mysql_query($sql);
> > $_SESSION['tid'] = date('i');
> > }
>
> Jeg tager lige tråden op igen, da jeg i mellemtider er blevet klogere
> (hvem skulle tro det var muligt :-) ).
Prøv med nogle flere gulerødder :) Det vil hjælpe så meget på synet,
at du undrer dig over hvad date('i') laver der. Et lill hint kunne
være at overveje tidspyunktet for næste opdatering efter et besøg
16:49, 16:55 eller 17:02.
Skulle det overhovedet give mening at trigge noget efter 10 minutter
eller længere tid, er time det oplagte valg:
if (!isset($_SESSION['tid']) || ($_SESION['tid'] < time() - 3600) {
$sql = "INSERT INTO ip_adresser (ip) VALUES ('$ip_adress')";
$result = mysql_query($sql);
$_SESSION['tid'] = time();
}
Læg også mærke til at der skal trækkes fra, hvis sammenligningen ikke
skal være ubetinget sand.
> Hvis vi antager at det er et stort site med mange besøgende, giver det
> en vældig trafik til sql-serveren - med forbrug at tid og båndbredde.
>
> Det kunne måske være bedre at gemme info i en fil i stedet.
En database skalerer væsentligt bedre end en filbaseret
tilgang. Medmindre selvfølgelig man skriver sin egen databaseserver,
men så er php ikke det rigitge valg af programmeringssprog.