Hice una consulta con PHP para que, cuando el usuario haga click, se sume un valor en un campo, antes de esto, comprueba de que la IP desde la que se accesa no haya presionado previamente el botón. Esto lo hacía mediante un archivo denuncia.php y pasándole los parámetros correspondientes.
Hasta acá todo bien, el código funciona. Peor lo que quiero hacer ahora es hacer directamente, osea sin cambiar de página. Se me ocurrió insertar todo el código dentro de una función JavaScript, pero al parecer no funciona y detiene la carga de la página.
Este es el código que hice:
Código HTML:
<script type="text/javascript"> function denunciar(idsecreto){ <?php $ip = $_SERVER['REMOTE_ADDR']; $id_secreta=idsecreto; echo $id_secreta; if($userhash > 0){ echo '...'; $sqla=mysql_query("SELECT denuncias FROM secretos WHERE id ='$id_secreta'"); $valorActual=$sqla['denuncias']; $insertpoint = mysql_query("UPDATE secretos SET denuncias=denuncias+1 WHERE id = '$id_secreta'", $conexion) or die("Problemas en el select".mysql_error()); if($insertpoint){echo'</br><p style="text-align: center;">Muchas gracias, tu denuncia ha sido enviada.</p>'; mysql_query("INSERT INTO secretos_denuncias_log (id_secreto,ip) VALUES ('".$id_secreta."','".$ip."')", $conexion) or die("Problemas en el select".mysql_error()); mysql_close($conexion);} exit; } $revizarpunt = mysql_query("SELECT id_secreto,ip FROM secretos_denuncias_log", $conexion) or die("Problemas en el select".mysql_error()); $puntajedado = mysql_query("SELECT * FROM secretos_denuncias_log WHERE Id_secreto = '$id_secreta' AND ip = '$ip' LIMIT 1", $conexion) or die("Problemas en el select".mysql_error()); $puntuaciondada = mysql_num_rows($puntajedado) != 0 ? true : false; if($puntuaciondada) {echo '</br><p style="text-align: center;">Ya has denunciado este secreto.</p>';} else{ $sqla=mysql_query("SELECT denuncias FROM secretos WHERE id ='$id_secreta'"); $valorActual=$sqla['denuncias']; $insertpoint = mysql_query("UPDATE secretos SET denuncias=denuncias+1 WHERE id = '$id_secreta'", $conexion) or die("Problemas en el select".mysql_error()); if($insertpoint){echo'</br><p style="text-align: center;">Muchas gracias, tu denuncia ha sido enviada.</p>'; mysql_query("INSERT INTO secretos_denuncias_log (id_secreto,ip) VALUES ('".$id_secreta."','".$ip."')", $conexion) or die("Problemas en el select".mysql_error()); mysql_close($conexion);}} ?> }
Saludos y gracias!