Avatar billede volstrup Nybegynder
25. maj 2000 - 00:37 Der er 3 kommentarer og
1 løsning

Problemer med hjemmelavet counter...

Hej,
jeg har et problem med min hjemmelavede counter.
Den skulle være lavet reload-sikker, ved at jeg lægger 108000 sekunder til
(30 min).
Desværre sletter den ikke indlægget i databasen efter de 30 min, og jeg kan
ikke finde fejlen!
Evt. nogen som kan hjælpe?

-- kode start --
function VisAntal($Counter_Id, $Counter_Tabel) {
  global $REMOTE_ADDR;
  $Counter_Tabel = "counter_visitors_".$Counter_Tabel;
  $tiden = time(void);
  $NyTid = $tiden + 108000;
  mysql_query("DELETE FROM $Counter_Tabel WHERE tid < $tiden"); //sletter counter tællinger, som er er mere end 30 minutter gamle
  $valgt = mysql_query("SELECT id, ip, tid FROM $Counter_Tabel WHERE ip = '$REMOTE_ADDR'"); //tjekker om man har besøgt siden for nylig
  $valgt = mysql_fetch_array($valgt);
  $id = $valgt[id];
  if (!$id) {
  mysql_query("INSERT INTO $Counter_Tabel VALUES ('', '$REMOTE_ADDR', '$NyTid')");
  $antal = mysql_query("SELECT antal, id FROM counter where id = $Counter_Id");
  $antal = mysql_fetch_array($antal);
  $antal = $antal[antal] + 1;
  mysql_query("UPDATE counter SET antal = $antal WHERE id = $Counter_Id");
  } else {
  mysql_query("UPDATE $Counter_Tabel SET tid = $NyTid WHERE id = $id");
  $antal = mysql_query("SELECT antal, id FROM counter where id = $Counter_Id");
  $antal = mysql_fetch_array($antal);
  $antal = $antal[antal];
  }
  print $antal;
}
-- kode slut --

Mvh Jacob Volstrup
UIN 4356912
Avatar billede volstrup Nybegynder
25. maj 2000 - 00:38 #1
...counteren kan ses i brug på:
www.cybertech.dk/test.php

mvh Jacob Volstrup
Avatar billede lassehjorth Nybegynder
25. maj 2000 - 12:54 #2
>$tiden = time(void);
$tiden = time();
Avatar billede volstrup Nybegynder
25. maj 2000 - 16:00 #3
det hjælper desværre ikke noget...
problemet er, at der ikke slettes, selv om følgende bliver udført:
mysql_query("DELETE FROM $Counter_Tabel WHERE tid < $tiden");
...så det er nok der den er gal!

mvh Jacob Volstrup
Avatar billede volstrup Nybegynder
30. maj 2000 - 14:56 #4
Jeg fandt selv fejlen:
$NyTid = $tiden + 108000;
skal rettes til:
$NyTid = $tiden + 1800;
eftersom 108000 er mere end de 30 min. som det skulle være.
En lille regnefejl...

Mvh Jacob Volstrup
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester