Fejl i php/mysql script?

Tags:    php

JHN

Jeg er relativt nybegynder i at benytte php og mysql, men har kastet mig ud i et lille "topsite" script.

Scriptet skal skrive brugerens ip, siteid og et tidsstempel i en tabel. Hvis den samme ip aktiverer en stemme på samme siteid indenfor under 30 minutter, skal der ikke registreres noget i mysql (for at forhindre snyd).

Scriptet virker fint, undtagen ved en enket bruger, der fra samme ip-adresse aktiverer scriptet 3-5 gange i sekundet. Så "bryder scriptet" sammen, og samtlige aktiveringer registreres i db.

Jeg kan selvfølgelig udelukke brugerens ip adresse fuldstændigt, men det kunne være interessant at vide, om der en en smartere måde (end mit script) til at tage højde for problemer som disse?

-----------------------------------------------------

$time_date = time();
$time_span=1800;
$ip=getenv("REMOTE_ADDR");
$ip2=str_replace(".", "", $ip);

$result=mysql_query("SELECT time FROM hits_in where ip=$ip2 and site=$id");
$res = mysql_fetch_array($result);
$last_visit = $res["time"];

if (($last_visit + $time_span) <= $time_date) {
$sql = "INSERT INTO hits_in SET site='$id', ip='$ip2', time='$time_date'";
mysql_query($sql);
}





1 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hej...

Hvad er fejlen... Det bliver du nød til at skrive. Altså hvad browseren siger til dig når det er, for du får vel en fejlmeddelse når det ikke virker... ik?

Ser lige på det senere skal noget ;D

Up The Irons, Morten.
---------------------------------------
Web: http://www.ms-code.dk
Mail: morten@ms-code.dk
---------------------------------------




t