Ver Mensaje Individual
  #13 (permalink)  
Antiguo 13/05/2011, 09:04
Avatar de edwines
edwines
 
Fecha de Ingreso: mayo-2011
Mensajes: 21
Antigüedad: 13 años
Puntos: 3
Respuesta: Duda con Login de Usuarios

Cita:
Código:
$comprobar2 = mysql_query($sql2); 
if(mysql_query($comprobar2) == 0) 
    { 
        echo "Lo siento, tienes que activar tu cuenta"; 
    }
Amigo, lo que sucede es que estas tratando de realizar la comparación directamente del resource, la cual simplemente será evaluada como false si el usuario no existe o true si el usuario existe.

Si observas la descripción de la función [URL="http://co.php.net/manual/es/function.mysql-query.php"]mysql_query()[/URL] observaras que el resultado retornado NO es el valor de la columna (directamente hablando). Lo que te devuelve tienes qué pasarlo por tras funciones para así lograr ver el valor que quieres.

Sería más o menos algo así:

Código PHP:
$result mysql_query($comprobar2);
$datos mysql_fetch_assoc($result);

if ( 
$datos['confirmacion'] == )
{
  echo 
"lo siento, tienes que activar tu cuenta";

mysql_fetch_assoc() te crea un array con cada fila del result... en este caso solo vemos la primera fila porque se supone que no deben haber más de un usuario con ese nombre.

Por otro lado te recomiendo que minimices las consultas a una, más o menos así:

Código PHP:
(...)

$sql "SELECT * FROM usuarios WHERE nombre_usuario = '$usuario' AND contrasena = '$password'"

$result mysql_query($sql);

// Comprobamos si la consulta retorno algún registro
if ( mysql_num_rows($result) != )
{
  
$datos mysql_fetch_assoc$result );
  
  
// Comprobando si esta inactivo
  
if( $datos['confirmacion'] == )
 {}

  
// Id del usuario
  
$id_usuario $datos['id_usuario'];
(...)