condición else no me redirige al index

Iniciado por bgnumis, 31 Diciembre 2017, 09:45 AM

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

bgnumis

Hola tengo un archivo validarusuario.php que redirecciona a una web o otra en función del tipo de usuario. En el index hay un acceeso usuarios que dirige a este código. Resulta que si en el index al poner nombre y usuario me equivoco en el pass el siguiente código no me redirige a index sino que se queda en una página en blanco validarusuario.php pero sin dar error. Si pongo la clave y usuario bien sí que hace lo que debe. ¿por qué no puede estar funcionando el else?

Código (php) [Seleccionar]


Hola,

Nada. He probado haciendo lo del if pero no funciona. Lo he modificado así, pero no funciona tampoco. A ver si alguno vé porqué no me redirige al index cuando me equivoco en la pass y se queda en el fichero que se llama así (el código de abajo) validarusuario.php y se queda en blanco sin dar error.




<?php
include("conectar_bd.php"); 
conectar_bd();

$usr $_POST['usuario'];
$pw $_POST['password'];
//Obtengo la version cifrada del password
$pw_enc md5($pw);



$sql "SELECT id_usuario FROM tbl_users
INNER JOIN ctg_tiposusuario
ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
WHERE tx_username = '"
.$usr."'
AND tx_password = '"
.$pw_enc."'

"

$result =mysql_query($sql,$conexio); 

$uid "";




$sql1 "SELECT id_TipoUsuario FROM tbl_users
WHERE tx_username = '"
.$usr."'
AND tx_password = '"
.$pw_enc."' "



$result1=mysql_query($sql1,$conexio); 

$uid "";
$rs=mysql_fetch_array($result1);

if( 
$rs[0]=="2"){ 

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
}
else {
//En caso de que no exista una fila...
//..Crear un formulario para redireccionar al usuario a la pagina de login 
//enviandole un codigo de error
?>

<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>

<?php




}


elseif( 
$rs[0]=="1"){ 



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="administrador.php">
<input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
</form>
<?php
}
else {
//En caso de que no exista una fila...
//..Crear un formulario para redireccionar al usuario a la pagina de login 
//enviandole un codigo de error
?>

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



?>


<?php
}

?>

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


srWhiteSkull

Depura, por algún lado el flujo del programa pasa por ahí... te recomiendo que uses un echo con las variables que participan en esa condición para tener una idea de donde está yendo el flujo del programa.