Foro

Necesito ayuda con esto problema entre es success y el header

0
Hola tengo un problema con el success y el header en mi aplicacion. tengo un login.js el cual valida el user y el pass en realidad eso se hace en el login.php . el lio es que estoy redireccionando desde el php en dependencia del tipo de user (Cliente, Admin ,Reviso,Realizador )a su vista pero no se redirecciona creo que es que el js espera algo no se ... en el login.php si el user es valido redirecciono con header pero si es incorrecto mando un echo '{"success": false, "errors":{"reason": "Usuario o contraseña incorrecta"}}'; .. function logear(){ // funcion logear, sera invocada en el boton INGRESO ubicado en index.html if (formLogin.getForm().isValid()) { formLogin.getForm().submit({ url: 'login.php', method: 'POST', waitTitle: 'Conectando', waitMsg: 'Validando Usuario..', success: function(form, action){ }, failure: function(form, action){ if (action.failureType == 'server') { var data = Ext.util.JSON.decode(action.response.responseText); Ext.Msg.show({ title: 'Error', buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.ERROR, msg: data.errors.reason }); } } }); } } loguin($usr, $password)) { $sql1 = "SELECT * FROM usuario where usuario="."'".$usr."'"; $result= mysql_query($sql1); $afectadas = mysql_num_rows($result); if($afectadas==0) { $no = $ldap->getDisplayname(); $cat= $ldap->getCategoria(); $sql2="INSERT INTO usuario(usuario,nombre,rol,categoria) VALUES('".$usr."','".$no."','cliente','".$cat."');"; mysql_query($sql2); $sql3 = "SELECT `rol`FROM `usuario`WHERE `usuario` = '$usr'"; $result= mysql_query($sql3); while ($variables =mysql_fetch_assoc($result)) { $variables['rol']; $rol =$variables['rol']; } $_SESSION["user"]=$usr; $_SESSION['autenticado']=true; $_SESSION["rol"]=$rol; header('Location:../Vista_cliente/Aplicacion.html'); die(); } else { $sql4 = "SELECT `rol`FROM `usuario`WHERE `usuario` = '$usr'"; $result= mysql_query($sql4); while ($variables =mysql_fetch_assoc($result)) { $variables['rol']; $rol =$variables['rol']; } $_SESSION["user"]=$usr; $_SESSION['autenticado']=true; $_SESSION["rol"]=$rol; switch($rol){ case "Cliente": header('Location:../Vista_cliente/Aplicacion.html'); break; case "Admin": header('Location:../Vista_Admin/Admin.html'); break; case "Revisor": header('Location:../Vista_Revisor/Aplicacion.html'); break; case "Realizador": header('Location:../Vista_Realizador/Aplicacion.html'); break; } } else{ echo '{"success": false, "errors":{"reason": "Usuario o contraseña incorrecta"}}'; } } ?>
0
Hola el php no te va a redireccionar debido a que solo estas haciendo consulta, para que te redireccione tendrias que hacerlo en el success de tu javascript. ahora para que reconosca a donde debe de redireccionar podrias poner unas condicionales o bien podrias redireccionar a un .php que redireccione a donde deseas basandose en la sesion. en todo caso la redireccion primaria la realizarias desde el script mas no del php.

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.