Foros del Web » Programando para Internet » PHP »

Alguna idea para solucionar esté problema

Estas en el tema de Alguna idea para solucionar esté problema en el foro de PHP en Foros del Web. Buen día tengo un problema con una encuesta, tengo un código donde la máquina agarra la ip local y la ip pública para poder hacer ...
  #1 (permalink)  
Antiguo 28/05/2014, 16:57
 
Fecha de Ingreso: julio-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Alguna idea para solucionar esté problema

Buen día tengo un problema con una encuesta, tengo un código donde la máquina agarra la ip local y la ip pública para poder hacer la votación restringida, pensé que estaba funcionando en el local host pel detalle es que al momento de que se le de votar no me agrega registros, en la base de datos, espero puedan ayudarme

Código PHP:
<?php
include('conexion.php');

$sql=mysql_query("SELECT * FROM ip",$con);

echo 
$ip_comp $_POST['ip_comp'];
echo 
$ip_pub $_SERVER['SERVER_ADDR'];
echo 
$candidato $_POST['candidato'];

if(
mysql_num_rows($sql)>0) {
while(
$row mysql_fetch_array($sql)) {
      if(
$row['ip_comp'] == $ip_comp && $row['ip_pub'] == $ip_pub) {
        
//echo 'Ya votaste misma pc y servidor';
        
break();
    }
    else if(
$row['ip_pub'] != $ip_pub && $row['ip_comp'] == $ip_comp) {
        
//echo 'ya votaste diferente servidor pc igual';
    
}
  }
    else if(
$row['ip_pub'] == $ip_pub && $row['ip_comp'] != $ip_comp) {
$sql2="INSERT INTO ip VALUES ('NULL','$ip_comp','$ip_pub')";
mysql_query($sql2,$con) or die('Error. '.mysql_error());
$sql3="UPDATE candidatos SET votos = votos+1 WHERE candidato = '$candidato'";
mysql_query($sql3,$con) or die('Error. '.mysql_error());
echo 
"<script language='JavaScript'>alert('Tu voto por el candidato de $candidato fue registrado' );</script>";
    }
}
else {
$sql="INSERT INTO ip VALUES ('NULL','$ip_comp','$ip_pub')";
mysql_query($sql,$con) or die('Error. '.mysql_error());
$sql4="UPDATE candidatos SET votos = votos+1 WHERE candidato = '$candidato'";
mysql_query($sql4,$con) or die('Error. '.mysql_error());
echo 
"<script language='JavaScript'>alert('Tu voto por el candidato de $candidato fue registrado' );</script>";
}
//include('consulta.php');
?>
  #2 (permalink)  
Antiguo 28/05/2014, 17:02
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Alguna idea para solucionar esté problema

¿Y qué error te indica?
¿imprimiste las consultas para asegurar que estuvieran bien formadas?

Por cierto, no puedes acceder a la ip local de un cliente desde un servidor externo, al menos no con php.
  #3 (permalink)  
Antiguo 29/05/2014, 09:10
 
Fecha de Ingreso: julio-2011
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Alguna idea para solucionar esté problema

Cita:
Iniciado por ocp001a Ver Mensaje
¿Y qué error te indica?
¿imprimiste las consultas para asegurar que estuvieran bien formadas?

Por cierto, no puedes acceder a la ip local de un cliente desde un servidor externo, al menos no con php.
Buen día, la ip local la estoy sacando con un código javascript y si me la esta jalando a la BD, el detalle es que sólo entra la primera votación, cuando quiero votar desde otra máquina no me da permiso, me dice que el voto fue registrado pero checo en la base de datos y no me inserta los datos de la otra votación, no sé si hay alguna condición para que ya no inserte más datos en la tabla ip y que en la tabla candidatos me haga el conteo del otro voto, gracias, necesito saber si hay algun problema con una condicional ya que el primer voto si lo recibe pero el segundo no.

Etiquetas: alguna, idea, mysql, registro, select, solucionar, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:14.