Mysql code:
CREATE TABLE floodfilter (
id int(11) NOT NULL default '0',
datum int(20) NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM;
Floodfilter functie (plaats in de config van je site)
Code:
<?php
function floodfilter($actie=1) {
GLOBAL $userid;
$time = time()-20;
@mysql_query("DELETE FROM floodfilter WHERE datum < '$time'"); // deleten
$sql = @mysql_query("SELECT count(1) FROM floodfilter WHERE id='$userid'"); // checken
$result = @mysql_result($sql, 0);
// check
if($actie == 1) {
if($result == 1) {
return FALSE;
} else {
return TRUE;
}
// update
} elseif {
$time = time();
if($result == 1) {
@mysql_query("UPDATE floodfilter SET datum='$time' WHERE id='$userid'");
} else {
@mysql_query("INSERT INTO floodfilter (id, datum) VALUES ('$userid', '$time')");
}
}
}
?>
Checken of iemand mag posten
Code:
<?php
if(!floodfilter(1)) {
echo "Jij hebt zojuist al iets gepost, wacht daarom 20 secondes en <a
href=\"javascript:history.go(-1)\">ga terug.</a>\n";
} else {
// post script uitvoeren
}
?>
// Dit uitvoeren als er wat is gepost
<?php
floodfilter(2); // poster toevoegen aan de floodfilter table
?>