Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/02/2013, 12:49
Avatar de Adbane
Adbane
 
Fecha de Ingreso: junio-2011
Mensajes: 86
Antigüedad: 13 años, 5 meses
Puntos: 6
Pregunta ¿Como ejecutar una función básica de PHP mediante AJAX?

Hola a todos, llevo tiempo trabajando en un proyecto y necesito ayuda con una cosa.

Estoy creando un sistema de puntuaciones, algo al estilo "Me gusta" de Facebook. La idea es que tras pulsar un botón, con la sentencia SQL "UPDATE" y "SET" sumo 1 al total de puntos que tiene la publicación. Normalmente esto es posible con un <a href> con la url "likes.php?id=$id". En el archivo "likes.php" cojo el id de la publicación para añadirle un punto más a esta.

Pero claro, hay un problema, que si se accede mediante url a "www.misitio.com/likes.php?id=2" por poner un ejemplo, se ejecutará el script en PHP y le sumará puntos a la publicación del id especificado en el enlace. Incluso si se hace F5 repetidas veces, irá sumando más puntos... Y no puedo permitir esto xD

Lo que me gustaría hacer es sencillo, que tras pulsar el botón se ejecute la sentencia SQL sin redireccionar página. No hay necesidad de recoger los valores e imprimirlos en la página, solo ejecutar la sentencia. Exactamente este código:

Código PHP:
Ver original
  1. $cn=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_DB);
  2. mysqli_set_charset($cn,"utf8");
  3.    
  4. $id2 = $_GET['id'];
  5. $sql= "UPDATE publicaciones SET likes=likes+1 WHERE id='{$id2}'";
  6.  
  7. $rs=mysqli_query($cn,$sql);
  8. if(!$rs){exit("Error de conexión ".mysqli_error($cn));}
  9. //cerrar conexion

¿Algún alma caricativa que pudiera ayudarme?
__________________
Diseñador web por amor al arte, o al HTML mejor dicho