Ahora cuando está ok necesitaba redireccionar a la página de administración y al hacerlo por php descubrí que se imprime toda la página de administración en el div de respuesta de la página para logear. Entonces averiguando veo que tengo que hacerlo por javascript (window.locate), pero aquí empieza mi gran problema. Resulta que no sé como diferenciar en el ajax.updater cuando el login es correcto y que redireccione, ya que si pongo en el onComple la redirección la hará para todo proceso correcto, incluido cuando hay un error de password o usuario inexistente, y en estos casos solo quiero mostrar el mensaje en el div que hubo un error. Por lo tanto la unica salida que veo es enviar un parametro (login = 1 , login = 0) desde el php al javascript y así este puede decidir si redirecciona o si deja que se muestre el mensaje en el div.
Código:
Gracias por su ayuda,function valida(){ var llamada = 0; var contenedor = "avisar"; var user = $F('usuario'); var pass = $F('password'); var opcion = "validar"; var url = "ajax.php"; if(usuario == '' || password == ''){ alert("Debe completar alguno de los campos"); return false; } //parámetros necesarios para Ajax.Updater var params = "user="+usuario+"&pass="+password+"&opcion="+opcion; //envía datos por Ajax var ajx = new Ajax.Updater(contenedor, url, {method:"post", parameters:params, onComplete: function( resp ){$(contenedor).show(); new Effect.Highlight(contenedor, { startcolor: '#ffff99',endcolor: '#eef8d5' });} } );
Saludos