Redireccionar a página administrador

Iniciado por bgnumis, 17 Diciembre 2017, 17:18 PM

0 Miembros y 1 Visitante están viendo este tema.

bgnumis

Hola,

Estoy intentando que cuando valide un usuario si el tipo usuario (id_TipoUsuario)  es 1 o 2, me redireccione a una web u otra. Los usuarios tipo 1 serían administradores.

Código (php) [Seleccionar]


<?php
   
    
//conectar BD
    
include("conectar_bd.php");  
    
conectar_bd();
     
    
$usr $_POST['usuario'];
    
$pw $_POST['password'];
   
     
    
$sql "SELECT id_usuario FROM tbl_users
            INNER JOIN ctg_tiposusuario
            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
            WHERE tx_username = '"
.$usr."'
            
    
$result     =mysql_query($sql,$conexio); 

$tipousuario=ctg_tiposusuario.id_TipoUsuario;
 
    
$uid = "";
     
    //Si existe al menos una fila
    if( 
$fila=mysql_fetch_array($result) && $tipousuario="2")
    {       
        //Obtener el Id del usuario en la BD        
        
$uid = $fila['id_usuario'];
        //Iniciar una sesion de PHP
        session_start();
        //Crear una variable para indicar que se ha autenticado
        
$_SESSION['autenticado']    = 'SI';
        //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
        
$_SESSION['uid']            = $uid;
        //CODIGO DE SESION
         
        //Crear un formulario para redireccionar al usuario y enviar oculto su Id 
?>

        <form name="formulario" method="post" action="administrador.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
<?php
    
}
    else {
       
 if( 
$fila=mysql_fetch_array($result))
    {       
        
//Obtener el Id del usuario en la BD        
        
$uid $fila['id_usuario'];
        
//Iniciar una sesion de PHP
        
session_start();
        
//Crear una variable para indicar que se ha autenticado
        
$_SESSION['autenticado']    = 'SI';
        
//Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
        
$_SESSION['uid']            = $uid;
        
//CODIGO DE SESION
         
        //Crear un formulario para redireccionar al usuario y enviar oculto su Id 
?>

        <form name="formulario" method="post" action="principalcero.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
<?php
    
}

?>

        <form name="formulario" method="post" action="index.php">
            <input type="hidden" name="msg_error" value="1">
        </form>
<?php
    
}
?>

                     
<script type="text/javascript">
    //Redireccionar con el formulario creado
    document.formulario.submit();
</script>






¿Esto se haría así? En la primera condición del if intento poner dos condiciones
Código (php) [Seleccionar]
$fila=mysql_fetch_array($result) && $tipousuario="2"
pero siempre me devuelve a index.


engel lex

Primero que nada, no uses la extensión mysql_ ya esta quedó obsoleta, usa mysqli_ o mysql::PDO

segundo... el string que empieza en la linea 12 despues de concatenar en la 15 no lo cierras dentro de comillas dobles si se evaluan las variables es decir

Código (php) [Seleccionar]
$a = "WHERE tx_username = '$usr'; "

esto es valido y $usr se evaluará


Código (php) [Seleccionar]
$fila=mysql_fetch_array($result) && $tipousuario="2"

y si puede ser, pero es preferiable evaluar directamente el contenido de fila
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.