Saltar la navegación

3.1.3.- Xajax (III).

Esta función, que se encargará de validar el formulario, puedes crearla en el mismo fichero PHP o en un fichero aparte. Deberás incluir también el código necesario para Xajax:

<head>
    . . .
<?php
    // Le indicamos a Xajax que incluya el código JavaScript necesario
    $xajax->printJavascript();
?>
    <script type="text/javascript" src="validar.js"></script>
</head>

Puedes descargar y comprobar el código completo de la página.

Asegúrate de incluir la librería y ajustar las rutas en el código. Si tienes problemas, puedes utilizar las herramientas de desarrollador web de Firefox para comprobar que los cambios que realiza Xajax en el HTML son los adecuados.

Recomendación

Cuando trabajas con Xajax en la carpeta "xajax_js" se crea una carpeta llamada "deferred" con archivos Javascript que Xajax necesita, asegúrate que Apache tenga permisos de escritura en esta carpeta. (se recomienda crear tú la carpeta "deferred" dentro de ""xajax_js"" y darle permisos  777 por ejemplo).

Autoevaluación

Pregunta

Utilizando Xajax, ¿cómo debes hacer para que la página web espere por la respuesta de una petición AJAX?

Respuestas

Llamando a la función JavaScript que crea Xajax cuando registras una función del servidor (su nombre comienza por xajax_).

Mediante el método request, indicando como parámetro mode:'synchronous'.

Retroalimentación

Ejercicio resuelto

Partiendo de la base de datos "proyecto" que ya utilizamos en unidades anteriores, utiliza Xajax para cambiar el mecanismo de login. Se trata de crear una función en PHP de nombre "vUsuario", que reciba como parámetros un nombre y contraseña, y que compruebe estas credenciales con la base de datos y devuelva false sin no son correctas o true sin son válidas. En este caso, deberá encargarse, también, de almacenar el nombre del usuario en una variable de sesión. Si la validación es válida cargaremos la página "listado.php" con un listado de los productos disponibles (a esta última página no podremos acceder si no tenemos la variable de sesión inicializada). Esta página tendrá un botón para cerrar sesión.