¿Cómo puedo hacer con php que pulsando un botón (imagen) suba +1 un contador?

P antes de nada agradeceros vuestro trabajo ;) mi pregunta viene aquí:
¿Cómo puedo hacer con php que pulsando un botón (imagen) suba +1 un contador... Y que ese contador guarde los votos positivos que le dan.. Me explico quiero que al lado de una imagen haya una especie de contador que suba más uno cuando pulse en la imagen.. Y que ese numero nunca se resetee entrando y saliendo de la página sino que lo guarde... También que solo se pueda votar una vez cada 12 horas... Y mejor si el contador es de (100000 votos)? ¿Podéis ponerme los códigos con sus nombres respectivos y donde tienen que ir? Gracias.. Se que es difícil estoy aprendiendo php y da un trabajo negro :S
1

1 Respuesta

116.450 pts. Desarrollador web, especializado en PHP, AJAX, HTML, CSS
La limitación de los votos, ¿será por ip o por usuario?
Por ip.. la utilizaría para poner en varias páginas como voto por un video que le gusto.. si le gusto daría un voto positivo sino pues nada... gracias :P
Bien, entonces en la base de datos necesitamos 2 tablas, en una guardaremos la ultima fecha y hora en que se voto, junto con la ip y la id del video. En la otra contaremos los votos.
Para la emisión del voto, tienes 2 opciones, hacerlo vía AJAX o hacerlo mediante un formulario común. Desde el lado de PHP, el código es igual, lo único que difiere es que con jaxa, utilizas javacsript en el cliente.
 Al emitir el voto, verificas antes que la fecha y hora del ultimo voto, sea mayor a 12 horas. algo tipo "SELECT fechaHora FROM votosIp WHERE ip = '$ip' AND vid ='$vid';"
 en caso de ser valido el voto insertas los nuevo valores
 "UPDATE votos SET cantidad = cantidad + 1 WHERE vid = '$vid'"; y
"UPDATE votosIp SET fechaHora = NOW() WHERE vid = '$vid' AND ip = '$ip'"; (si tiene algun registro, o
"INSERT INTO votosIp(ip, vid, fechaHora) VALUES ('$ip', '$vid', NOW());" Si no tiene registros.
El valor $vid lo puedes pasar por POST o GET, como prefieras, y la ip, mediante la variable global $_SERVER
¿Perdona por volverte a molestar xD según me cuentas necesito crear 2000 tablas para unos 1000 videos?.. dios que me muero aquí mismo xD
segundo no voy hacerlo con ayax porque no me importa si se vuelve a cargar la página... a todo esto.. lo que no sé es como hacer el formulario poniendo una imagen.. podías ponérmelo please te lo agradecería y siento molestarte maestro :P
un saludo, disculpas y gracias por ayudarme
Nono, son 2 tablas, con 1000 entradas cada una.
Y para hacerlo es algo así
<form method="post">
<input type="submit" class="boton" />
</form>
y en el head o en tu hoja de estilos, agregas
.boton{
  bakcground: url(direccion/relativa/a/la/imagen) top left no-repeat;
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas