Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/04/2010, 08:21
Sancas
 
Fecha de Ingreso: marzo-2008
Mensajes: 96
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Logear en página SELF

Lo que puedes hacer es lo siguiente. No lo he probado pero podría ser algo del estilo:

Código PHP:
switch ($existe_Usuario) {
    case 
0:
        echo 
"* ERROR: No existe el usuario.";
        break;
    case 
1:
        echo 
"/pagina/a/la/que/redirijo.php";/*logeo con exito*/
        
break;
    case 
2:
        echo 
"ERROR: El usuario no tiene permiso para acceder";
        break;

Y en el JS:

Código:
function sendLogin() {
new Ajax.Request("sesion_pro.php",
{
method: 'post',
parameters: 'usuario='+$F('usuario')+'&password='+$F('password'),
onCreate : function startLoading() {
    		$('cmsmensajeup').innerHTML= '<img src="images/sending.gif" />';
			Form.Element.disable("Envia");
			},
onComplete: function showResponse(req){
			$('cmsmensajeup').innerHTML = '';
			Form.Element.enable("Envia");
				if(req.responseText.match("/")) {
					window.location =req.responseText; 
				}else{
					alert(req.responseText);
				}
			}
});
}
Es decir, si encuentra una "/" en lo que le envías (que en este caso significa que le estás pasando una ruta y no un error) pues te lleva ahí...

Espero haber respondido a tu pregunta.

EDITO:
Si el usuario llega a una página a la que no tiene permisos. Deberías guardar la ruta en una variable de sesión:
Código PHP:
$_SESSION['nexturl']=$_SERVER['REQUEST_URI']; 
Y en el Switch preguntas:
Código PHP:
switch ($existe_Usuario) {
    case 
0:
        echo 
"* ERROR: No existe el usuario.";
        break;
    case 
1:
        if(isset(
$_SESSION['nexturl']) echo $_SESSION['nexturl'];
        else echo 
"/pagina/a/la/que/redirijo.php";/*logeo con exito*/
        
unset($_SESSION['nexturl']);
        break;
    case 
2:
        echo 
"ERROR: El usuario no tiene permiso para acceder";
        break;


Última edición por Sancas; 28/04/2010 a las 08:28