Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2009, 22:25
r0xdrig0
 
Fecha de Ingreso: diciembre-2007
Mensajes: 385
Antigüedad: 16 años, 11 meses
Puntos: 0
No me toma en cuenta el switch case dentro de un while

Hola amigos, tengo un problema; estoy haciendo mi login q es por tipos de usuarios, es decir segun el tipo de usuario q sea debo redireccionarlo a su pagina con su menu correspondiente, esto lo estoy haciendo con switch case. este switch case se encuentra dentro de un while el cual captura la comprobacion de nombre usuario password y el tipo de usuario, lo q me pasa es q no se si no me entra a este while o si no me entra al switch case despues de traer los datos de la consulta sql, he intentado imprimir la consulta sql y no me la muestra. La pagina donde tengo la comprovacion se llama verificar datos, es ahi donde compruebo si el usuario es o no valido, pero me ocurre lo q les comento (obviamente en mi pagina index.php en el form action tengo destinado a q se vaya a la pagina verificar_datos) aqui les dejo mi code para q me echen una ayuda porfa se los agradeceria enormemente ya q me tiene bien urgido est, el code es:

Código PHP:
<?php
ob_start
();
session_start();
include_once(
"conexion.php");
$conn conexion();

if ( !empty(
$_POST['nombre_usuario']) && !empty($_POST['pass'])  )
{
//abro llave de if nombre_usuario y pass distinto a vacio
    
    
if($conn)
    {
//abro llave de if conectado a la bd correctamente
    
        
$auten_usuario"SELECT * FROM usuarios WHERE nombre_usuario ='".$_POST['nombre_usuario']."'";
        
$resultadopg_exec($conn,$auten_usuario);
            echo 
$_POST['nombre_usuario'];//imprimo session nombre_usuario a ver si capta el valor introducido por el usuario
            
if (pg_fetch_array($resultado) )
            {
//abro llave de if q trae resultado de la consulta por nombre de usuario de la bd
            
                
$auten_clave"SELECT * FROM usuarios WHERE pass='".$_POST['pass']."'";//realizo consulta a la bd para comprobar pass
                
echo $_POST['pass'];//imprimo session pass para ver si captura valor introducido por el usuario
                
$resClavepg_exec($conn,$auten_clave);
                if (
pg_fetch_array($resClave))
                {
//abro llave de if q trae resultado de la consulta por la pass del usuario de la bd
                    
$ClaveUser="SELECT tipo_usuario FROM usuarios WHERE nombre_usuario ='".$_POST['nombre_usuario']."' and pass='".$_POST['pass']."'";//consulto a la bd si existe el nombre_usuario y la pass
                    
echo $_POST['nombre_usuario']."----".$_POST['pass'];//imprimo variable session nombre_usuario y pass 
                    
                    
$resCUpg_exec($conn,$ClaveUser);
                    
                    while(
$row pg_fetch_array($resCU))
                    {
//abro llave de while q contendra switch case
                    
                        
switch ($row[0])
                        {
//abro llave de switch
                        
                            
case 1:
                            
                        
$segundo=" SELECT
            usuarios.nombre_usuario, usuarios.tipo_usuario,
             nivel_acceso.descripcion
 FROM usuarios 
 JOIN nivel_acceso  ON usuarios.tipo_usuario = nivel_acceso.tipo_usuario
 WHERE
             usuarios.nombre_usuario = '"
.$_POST['nombre_usuario']."' 
             AND usuarios.pass = '"
.$_POST['pass']."'";
                                        
$resultado_segundo pg_exec ($conn$segundo);
                                        echo 
$segundo;
                                        
                                        while(
$row pg_fetch_array($resultado_segundo))
                                        {
//abro llave while q destina a usuario administrador
                                        
                                            
session_start();
                                            echo 
$_SESSION['usuario']=$row[0];
                                            echo 
$_SESSION['estado']='ok';                
                                            echo 
$_SESSION['tipo']='ADMINISTRADOR';
                                            
header("Location:prueba.php");
                                        
                                        }
// cierro llave while q destina a usuario administrador
                                        
                                        
exit();//paro ejecucion del while q destina a usuario administrador
                                        
break;// break del case 1
                                        
                                        
                        
                        
}//cierro llave de switch
                    
                    
}//cierro llave de while q contendra switch case
                
                
}//cierro llave de if q trae resultado de la consulta por la pass del usuario de la bd
                
                
else
                            { 
                            
header("Location:index.php?login=nopass");
                            exit();
                            }
            
            }
//cierro llave de if q trae resultado de la consulta por nombre de usuario de la bd
            
            
else
                    { 
                    
header("Location:index.php?login=nouser");
                    exit();
                    }
    
    }
//cierro llave de if conectado a la bd correctamente

}// cierro llave de if nombre_usuario y pass distinto a vacio

else
    {
        
header("Location:index.php?login=noset");
    }
?>
ese es mi code como les dije no se pq no me entra al while y/o al switch case porfavor ruego por su ayuda amigos.... de antemano gracias... bye.