Hola , tengo montado un sistema de registro de votos para una encuesta ( solo si o no) , pero hasta ahora hera necesario estar registrado para votar...
¿que tengo que hacer en el código para permitir que se vote sin estar registrado y guardar la ip del usuario para controlar que solo vote una vez??
gracias y saludos
Código PHP:
/* sumo positivo */
if($_POST['positivo']){
$c="select * from votos where id_usuario = '".$_SESSION['id']."' and id_encuesta = '".$_REQUEST['id']."'";
$r=mysql_db_query($mysql_db,$c)or die(mysql_error());
$ver=mysql_fetch_array($r);
if($ver['id_usuario']!=$_SESSION['id']){
/* Inserto voto */
$c1="UPDATE encuesta set positivo = positivo + 1, total = total + 1 where id = '".$_REQUEST['id']."'";
$r1=mysql_db_query($mysql_db,$c1)or die(mysql_error());
/* Inserto registro de votante*/
$c2="Insert into votos (id_usuario,nombre,id_encuesta,estado) values ('".$_SESSION['id']."','".$_SESSION['usuario']."','".$_REQUEST['id']."','si')";
$r2=mysql_db_query($mysql_db,$c2) or die(mysql_error());
$aviso="Su voto ha sido registrado. <br> Gracias por participar";
}else{ $aviso="Usted ya ha votado en esta plataforma."; }
}
/* sumo negativo */
if($_POST['negativo']){
$c="select * from votos where id_usuario = '".$_SESSION['id']."' and id_encuesta = '".$_REQUEST['id']."'";
$r=mysql_db_query($mysql_db,$c)or die(mysql_error());
$ver=mysql_fetch_array($r);
if($ver['id_usuario']!=$_SESSION['id']){
/* Inserto voto*/
$c1="UPDATE encuesta set negativo = negativo + 1 , total = total + 1 where id = '".$_REQUEST['id']."'";
$r1=mysql_db_query($mysql_db,$c1)or die(mysql_error());
/* Inserto registro de votante*/
$c2="Insert into votos (id_usuario,nombre,id_encuesta,estado) values ('".$_SESSION['id']."','".$_SESSION['usuario']."','".$_REQUEST['id']."','si')";
$r2=mysql_db_query($mysql_db,$c2) or die(mysql_error());
$aviso="Su voto ha sido registrado.<br> Gracias por participar";
}else{ $aviso="Usted ya ha votado en esta plataforma."; }
}