Lo hize con php, les paso el codigo y despues les cuento mi gran problema:
en el header:
Código PHP:
<?php if($_POST['verificate'] == "ok"){
mysql_query('INSERT votos SET noticia_id = "'.$var.'"',$db);
$_POST['verificate'] = "";
unset($_POST['verificate']);
} ?>
Código PHP:
<div id="voto">
<?php if($_COOKIE["idform".$var] != $_SERVER['PHP_SELF']."?mascota=".$var){ ?>
<form action="<?php $_SERVER['PHP_SELF']."?mascota=".$var; ?>" method="post" name="votar" id="votar">
<input type="hidden" id="verificate" name="verificate" value="ok" />
<input type="hidden" id="noticia_id" name="noticia_id" value="<?php echo $var; ?>"/>
<a href="javascript:cookie();
javascript:votar();"><img id="mascotear" src="Images/mascotear.gif" /></a>
</form><?php } else { ?>
<img src="Images/yahasmascoteado.gif" /> <?php } ?>
</div>
Código Javascript:
Ver original
<script> function votar() { document.votar.submit() } function cookie() { document.cookie= "<?php echo "idform".$var; ?> = <?php echo $_SERVER['PHP_SELF']."?mascota=".$var; ?>"; } </script>
Inserté php en las cookies de javascript, por ahora todos contentos, me funciona todo, pero cuando le doy f5 (haciendo testing), en mi caso, uso firefox, me pide reenviar las variables, y chan!, ya intente vaciar la variable, destruirla pero me sigue llenando la database ... Digamos que una persona comun no sabría este error de codigo, pero alguien que entiende seguro me llenará la tabla "votos" con votos falsos xD. lo demás todo bien, mi unico problema es el f5.
¿Como puedo evitar que los navegadores envien los datos nuevamente? hace mucho lei que como medida de seguridad, los navegadores guardan las ultimas variables que se pasan, pero ahi está mi problema, cuando las guardan me hacen la vida imposible :P
¿Existe otro metodo logico o alguna funcion para que cuando reenvie entre por falso?
Saludos!