Ver Mensaje Individual
  #24 (permalink)  
Antiguo 07/11/2008, 14:06
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: El bloque IF no se ejecuta correctamente

Hola RdlP,

Primero checa tu consulta no necesitas hacer el UNION, es redundante, despues trata de castear el valor, yo dejaria tu script asi:
Código php:
Ver original
  1. <?php
  2. //Aquí la conexión a la base de datos
  3.  
  4. $n = $_GET['n'];
  5. $p = $_GET['p'];
  6.  
  7. $sql_id = "SELECT id, activo FROM usuarios WHERE nick='$n' AND password='$p' LIMIT 1";
  8. $result_id = mysql_query($sql_id) or die(mysql_error());
  9. $valor_id = mysql_fetch_array($result_id);
  10. echo $valor_id['id'];
  11. echo $valor_id['activo'];
  12.  
  13. $id = $valor_id['id'];
  14. $activo = (int) $valor_id['activo'];
  15. if ($activo == 0)
  16.  {  
  17.       echo "este usuario aún no está activo";
  18.       $sql = "UPDATE usuarios SET activo = 1 WHERE id ='$id'";
  19.       $result = mysql_query($sql) or die(mysql_error());
  20.       echo "La cuenta se ha activado correctamente";
  21.      
  22.  }
  23. else
  24.  {
  25.       echo "dfdEste usuario ya está activo";
  26.  }
  27.  
  28. ?>

Saludos.