17. august 2006 - 19:56Der er
12 kommentarer og 1 løsning
evt. tjekke ip, men hvordan
jeg har denne kode
<? $hitsnu = mysql_query("SELECT hits FROM tekster WHERE tekstID = '".$id."' LIMIT 1"); $hits = mysql_result($hitsnu,0); $nyhits = $hits+1; mysql_query("UPDATE tekster SET hits = $nyhits WHERE tekstID = '".$id."'") or die(mysql_error()); ?>
den updatere feltet hits i min database og tæller det 1 op hver gang siden loades, men hvis brugeren trykker opdater (F5) tæller den også en op. hvordan kan jeg undgå dette. min ide er at lave et felt som hedder ip, hvor brugerens ip sættes ind i og er ip adressen den samme som den som allerede er i feltet skal der ikke tælles op. er der en som kan hjælpe med dette eller er ideen helt ved siden af?
Smid en session efter du har gemt den første fremkomst af en IP, derefter tjekker du blot om, den er brugt før. Det burge en simpel if/else kunne hjælpe dig med.
indsæt fx dette på din forside eller i hvert fald på en side som bliver loadet som en af de første.
Husk at placerer koden over alt andet kode:
<? session_start(); $_SESSION[nocount] = "ja"; ?>
på de andre sider du har indsætter du så dette HUSK også i toppen af dokumentet:
<? session_start(); if($_SESSION["nocount"] == "ja") { $hitsnu = mysql_query("SELECT hits FROM tekster WHERE tekstID = '".$id."' LIMIT 1"); $hits = mysql_result($hitsnu,0); $nyhits = $hits+1; mysql_query("UPDATE tekster SET hits = $nyhits WHERE tekstID = '".$id."'") or die(mysql_error()); $_SESSION[nocount] = "nej"; } ?>
altså på den første side opretter du en session med navnet nocount med indholdet ja .. hver gang der bliver loadet en side opdaterer den hits 1 gang .. men når den har opdateret hits 1 gang opdaterer den ikke mere når en ny side bliver loadet fx.
det kunne jeg heller ikke lige få til at virke, men har lavet et script nu som tjekker for om ip adresse har været på siden inden for x antal minutter eller timer
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.