Op m'n site kunnen gebruikers 1x per uur op elkaar stemmen, hiervoor drukken ze simpel op een knop. Die knop activeert een script:


<?
// aantal stemmen updaten
$query = mysql_query("SELECT stemmen FROM users WHERE id = '$stem_id'");
while ($rij = mysql_fetch_object($query)) {
$stemmen = $rij->stemmen + 1;
}
mysql_query("UPDATE users SET stemmen = '$stemmen' WHERE id = $stem_id");

// Transactie in db zetten
$tijd = date("Hi");
mysql_query("INSERT INTO stemmen (from_id, to_id, tijd) VALUES ('$user_id', '$stem_id', '$tijd')");

// Terug naar profiel gaan
header("Location: profiel.php?nickname=".getNickname($stem_id)."");
?>

De stemknop verschijnt pas als je nog niet op die persoon hebt gestemd, of als je langer dan een uur geleden voor het laatst op die persoon hebt gestemd. Echter als je buttonsmasht op de stemknop kun je heel vaak achter elkaar stemmen, er wordt dan niet gecheckt wanneer je voor het laatst gestemd hebt.

Hoe kan ik voorkomen dat het stemscript meerdere malen wordt uitgevoerd als de gebruiker RSI kweekt op de stemknop?
Ik kan javascript gewoon uitzetten...

Reageren