Ok, muchas gracias por la ayuda xassiz y a todos.
Saludos!
Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: Spider-Net en 7 Mayo 2011, 01:26 AM
Otra forma sin cookies sería usando consultas sql tal y como te hemos sugerido.
El valor de una cookie es fácilmente editable por el usuario, por lo que si directamente imprimes en la consulta el valor de la cookie puede ser que te encuentres que el valor de la cookie es una sentencia SQL específicamente preparada para alterar las tablas de tu base de datos y crear serios problemas en tu sistema.
Filtra el valor de las cookies SIEMPRE antes de usarlos en una consulta SQL.
Cita de: ~xassiz en 6 Mayo 2011, 15:34 PM
Utilizando el método POST en vez de el GET.
Cita de: RedZer en 6 Mayo 2011, 00:53 AM
cuales son tus tablas que ocupas?? para darte ideas
Cita de: Spider-Net en 5 Mayo 2011, 15:59 PM
Crea una tabla con un log de votos, cada vez que un usuario vota una noticia guarda: id del usuario, id de la noticia y fecha en que se realiza la votación.
Luego cuando el usuario vota antes de sumar uno a la votación comprueba la tabla de logs y si existe un voto con el id del usuario para el mismo id de noticia, comprueba la fecha, si es igual al día de hoy entonces no permites el voto. Eso sería la parte lógica, es bastante fácil de implementar por eso no pongo el código, pero si tienes alguna duda pregunta y ya está.
No te recomiendo que uses cookies para eso. Las cookies se guardan del lado del cliente y son sumamente fáciles de manipular. Así que cualquier usuario con un mínimo de conocimientos podrá manipular tu sistema de votos, y además tu sistema tal cual está es vulnerable a sql injection, si no filtras el valor de las cookies antes de realizar cualquier consulta SQL. Puedes usar la función mysql_real_escape_string para filtrar el valor antes de realizar la consulta.
Cita de: [ Alberto] en 5 Mayo 2011, 06:57 AM
existe una tabla noticia, seria el mismo mecanismo, no me queda claro que necesitas
saludos
<?php
$sql="SELECT COUNT(nick) from voto WHERE nick='".$_cookie[usuario]."'";
$result=mysql_query($sql) or die (mysql_error());
if (mysql_result($result,0) == 0){
$sql="INSERT INTO voto (nick) VALUES ('".$_cookie[usuario]."')";
mysql_query($sql);
$up_votos = "UPDATE voto SET votos=votos+1 WHERE id=".$id;
mysql_query($up_votos);
echo "Gracias por su voto.";
} else {
echo "Usted ya ha votado.";
}
?>