#1•• He realizado una encuesta y un código para evitar que alguien vote 2 veces (mirando ips). Codigo: $votodoble = mysql_query("SELECT encuesta, ip FROM encuesta WHERE 1 AND encuesta LIKE '$encuesta' and ip LIKE '$ip'")or exit; if ($votodoble="0") //si el que pulsa no ha votado ya a la misma encuesta { mysql_query("insert into encuesta (encuesta,opcion,fecha,ip,host) values ('$encuesta','$opcion','$fecha','$ip','$host')") ; //cerramos la conexión a la bd mysql_close(); Qué habría que modificar para que fuera también cuando se vota por primera vez? |
#2•• Bueno, investigando me he dado cuenta de que en realidad el voto no se efectúa nunca. Codigo: if (isset($_POST['submit'])) { include('configencuesta.php'); $fecha =date("d/m/y H:i:s"); $ip = $HTTP_SERVER_VARS['REMOTE_ADDR']; gethostbyaddr($ip); $host=gethostbyaddr($ip); $encuesta="primera"; $votodoble = mysql_query("SELECT encuesta, ip FROM encuesta WHERE 1 AND encuesta LIKE '$encuesta' and ip LIKE '$ip'"); if ($votodoble="0") //si el que pulsa no ha votado ya a la misma encuesta { mysql_query("insert into encuesta (encuesta,opcion,fecha,ip,host) values ('$encuesta','$opcion','$fecha','$ip','$host')") ; //cerramos la conexión a la bd mysql_close(); } //cerramos la condicion de pulsar } Me puede ayudar alguien? |
#3• Lo que quiero es que si se encuentra una coincidencia en la tabla de la bd en que la columna encuesta sea "primera" y la columna ip sea la ip del visitante, no pueda votar. |
#4• enseñanos el código de tu form... |
#5• o puedes insertar cookies cuando ya votaron, así te ayuda, además del sistema en mysql, por que hay veces que cambia la ip, o utiliza nombres de usuarios |
#6• donde if ($votodoble = "0" |
#7• Todo esto me ha empeñado a hacer un pequeño código!!!! : Codigo: function revisaVoto($ip,$id){ $ssql = mysql_query("SELECT * FROM votos WHERE ip = '$ip' AND id='$id'"); if($row = mysql_fetch_array($ssql){ return "yavoto"; }else{ return "novoto"; } } //He puesto un id en la funcion y en el query, representa la ID de la encuesta. if(revisaVoto($_SERVER[REMOTE_ADDR],'1') == "yavoto"){ echo "No puedes volver a votar, ya votaste!"; }else{ $ssql = "SQL DE LA INSERCION"; if(mysql_query($ssql)){ echo "Tu voto se ha guardado correctamente"; }else{ echo "ERROR MySQL: <br>" . mysql_error(); } } Bye! |
#8•• Gracias por tanto esfuerzo ivanito, pero tras corregir paréntesis y cambiar cosas me seguían saliendo errores por todos los sitios. |
#9• Gueno, jeje, siempreme gusta ayudar! |
#10•• Lo que necesitabas era condicionar a que la búsqueda primera no obtenga ninguna fila, o sea necesitabas usar la función mysql_num_rows() |
#11• Y? |
#12•• Se me olvidó pasar la variable y encima el condicinante no era distinto sino igual, con lo cual tienes razón en que esta fatal: |
#13• Tranquilos, os agradezco a los dos la ayuda. |
#14• Escrito originalmente por labete666 Se me olvidó pasar la variable y encima el condicinante no era distinto sino igual, con lo cual tienes razón en que esta fatal: if (mysql_num_rows($voto_doble)==0) Pero tu no eres nadie para decir si está bien o mal postear, el tema esta abierto, lo que pongo está relacionado con el hilo, además es interesante, es otra alternativa a lo anteriormente comentado. Lo único que sí estaba incorrecto. En cualquier caso si los moderadores (cosa que tu no eres estiman oportuno borrar mi post pués adelante), pero ellos no tú . No serás de esos usuarios que quieren acaparar el foro y piensan que cuando responden ellos ya los demás se han de callar la boca Salu2 Ja, no tengo ganas de discutir, pero bueno, lo que has echo, era menospreciar mi post, almenos al ver que simplificabas, le quitabas importancia. bye |
#15• Si el hecho de presentar una opción más corta y más rápida es menospreciar creo que todos deberíamos plantearnos cuál es el objetivo de un foro temático sobre PHP. |
#16• Bueno, pues disculpa, y gracias |
ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un nuevo tema en lugar de responder al actual |
Opciones: Ir al subforo: |
Permisos: TU NO PUEDES Escribir nuevos temas TU NO PUEDES Responder a los temas TU NO PUEDES Editar tus propios mensajes TU NO PUEDES Borrar tus propios mensajes |
Temas similares | ||||
Tema | Usuarios | Respuestas | Visitas | Actividad |
---|---|---|---|---|
Por: xxxCloud_Striferxxx, el 02/Feb/2006, 00:21 | 4 | 6k | Feb/08 | |
Por: Xmortal, el 16/Mar/2003, 21:29 | 1 | 3k | Mar/03 |