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