CAPITULO III: HERRAMIENTAS Y DESCRIPCIÓN DEL SITIO
3.3 Página de inicio
3.3.1 Herramientas utilizadas para la
Mediante la descripción anterior y con base en los lenguajes que se han elegido, lo primero que se realiza es la estructura de toda la página mediante etiquetas div que maneja HTML, esto para ubicar la posición que tendrá cada apartado, además de brindarle un buen porte se maneja con el lenguaje CSS, para definir alturas, tipos de letras, interlineado etc.
Se maneja una etiqueta div para la presentación inicial es decir un slider que muestra imágenes donde se describe características principales del Hotel, recamaras, piscina, servicios, gimnasio. El mismo slider se maneja por medio de JavaScript que permite la animación que se muestra en la figura 8.
Figura 7. Visualización de un slider de imágenes con JavaScript.
Para la opción de Login se manejan formularios dentro de HTML que permiten el envió de información a otros archivos PHP, los cuales realizan la conexión a la base de datos para validar si existe el registro y qué tipo de permisos se le otorgara para navegar.
Para el caso de menú se distribuye mediante tablas, y se modifican mediante sus diversas opciones proporcionadas por las hojas de estilos CSS para darle un formato formal y adecuado para el sitio, a cada parte se le asigna un vinculo para otros apartados.
Figura 8. Menú desarrollado con la ayuda de las hojas de estilo. Para el apartado de restablecimiento de contraseñas se maneja mediante un vínculo a un archivo HTML combinado con scripts PHP que harán la consulta a la tabla huéspedes para ubicar mediante correo electrónico la persona que es y restablecer su contraseña, el reporte se enviará por mail.
El resto del cuerpo es solo texto puro e inserción de imágenes con descripción para información al usuario.
3.4 SISTEMA DE LOGIN.
Para la seguridad de este sitio manejamos el sistema de login, que básicamente es la identificación de una persona en el sitio y dependiendo sus credenciales de usuario son los permisos que tiene para navegar dentro del mismo donde podrá gozar de ciertos privilegios, en este caso se maneja dos sesiones una que es la de usuario y una la de administrador, se detallan ambas a continuación.
3.4.1 SESIÓN DE USUARIO.
Dentro de la página de inicio como se menciona anteriormente, está contenida la opción de inicio de sesión o login, cuando una persona ya cuenta con un usuario y contraseña puede iniciar sesión, en este caso hablamos a nivel de permisos de usuario, su principal privilegio es la de poder ingresar al apartado de servicios donde podrá solicitar cualquiera que esté disponible, este quedará registrado en la base de datos, tabla peticiones, y se le confirmará por mail la petición que realizo, todos los demás apartados continúan siendo los mismos, con el extra de que en cada página muestra su nombre de la persona y la opción de cerrar sesión.
3.4.2 SESIÓN DE ADMINISTRADOR.
Funciona de la misma manera que la sesión de usuario pero con mayores privilegios, es decir el administrador puede modificar la mayoría de los registros de la base de datos, mediante diferentes opciones puede modificar un registro de usuario existente, registrar un nuevo usuario, cambiar el estatus de las peticiones si es que ya fueron atendidas, cambiar y/o agregar servicios que se puedan proporcionar.
En pocas palabras podrá administrar el sitio según las necesidades del hotel.
3.4.3 HERRAMIENTAS PARA LA ELABORACIÓN DE SESIONES
Para la elaboración de sesiones requerimos el uso del lenguaje PHP, por la facilidad del manejo de variables en distintos archivos. Para poder entender este proceso se describe cada uno de los pasos realizados para su mayor comprensión.
De manera sintetizada las sesiones en PHP son de muy gran utilidad para el desarrollo web ya que a través de su uso se almacena información que se memoriza durante toda la sesión de un usuario. Dicho de otra forma, un usuario puede ver varias páginas durante su paso por un sitio web y con sesiones podemos almacenar variables que podremos acceder en cualquiera de esas páginas.
Ahora bien ya que sabemos para que nos sirven las sesiones en PHP a continuación se describen las variables utilizadas para el desarrollo del sitio web planteado:
session_start():Inicia una sesión para el usuario o continúa la sesión que pudiera tener abierta en otras páginas.
$_SESSION["nombre_de_variable"]: es un array asociativo, donde se accede a cada variable a partir de su nombre.
Session_destroy():Da por abandonada la sesión eliminando variables e identificador.
El procedimiento para el manejo de sesiones dentro del sitio desarrollado es simple, basta con que el usuario ingrese sus datos en los campos indicados, al momento de hacer la solicitud de envío, los datos son enviados y recibidos por un script realizado en PHP donde el programa verifica mediante condiciones si el usuario lleno los campos dependiendo cual sea el caso, PHP manejará las situaciones en forma de alerta, la cual se maneja con JavaScript dentro de PHP, por ejemplo si el usuario presiono el botón enviar y los campos no tienen ningún dato, la alerta confirmará que no se ha iniciado sesión de la mejor forma y redireccionará a la misma página como una actualización.
Si los campos contienen información, el script de PHP realiza una consulta a la base de datos (tabla huéspedes) donde verifica que el usuario y la contraseña sean los correctos, si uno de los datos es incorrecto, el script mediante condiciones lo hace saber e indica cuál fue la falla si usuario o contraseña mediante alertas que como ya se menciono están dentro del script PHP.
Cuando los datos son correctos entonces con el nombre de usuario (este nombre de usuario siempre es único, en apartados siguientes se explica el porqué) se realiza una nueva consulta a la base de datos para validar cual es el privilegio del usuario (de igual forma en apartados siguientes se explica cómo se define los privilegios a los usuarios), con base a la consulta se inicia la sesión con la variable ya antes mencionada sesión_satrt(). Ya con la sesión activa el script evalúa si esa sesión pertenece a un administrador o un usuario, dependiendo el caso se inicia una variable con esta sesión de la siguiente forma, $_SESSION[‘usuario’]=”si” para confirmar que es un usuario quien estará navegando, además otra variable $_SESSION['nameuser_usu'] = $_POST['usuario'], para validar quien es el usuario que está navegando, estas variables son exclusivas del usuario pero es exactamente los mismo para los administradores, en el anexo (autenticación, sesiones de usuarios y administradores) se puede validar el script PHP completo.
Estas variables que se mencionan harán la función de identificar a la persona dentro del sitio y poder brindarle sus características pertinentes dependiendo el grado de privilegios, así es como se manejan las sesiones dentro de la página web.
3.5 SISTEMA DE REGISTRO.
El sistema de registro es la forma en la que el sitio web tendrá el control y listado de todas las personas que se encuentran hospedadas, se maneja en dos
partes, una es la de pre-registro donde el usuario podrá hacer una reservación vía web donde brinda datos personales.
La otra es en la parte de sesión del administrador donde se hace un registro completo de información y/o modificación de datos.
3.5.1 HERRAMIENTAS PARA LA ELABORACIÓN DEL SISTEMA DE REGISTRO.
Nuevamente y durante toda la construcción de diversas partes del sitio se utilizan scripts de PHP donde se maneja las partes dinámicas del mismo. En esta sección del desarrollo se consideran dos partes, una es la que está abierta al público en general y otra en la parte de administración, en ambas se utilizan formularios a continuación se marca la diferencia entre cada parte.
En la parte del público en general se maneja un formulario con campos básicos, es decir, solo información personal estos campos son: Nombre, Apellidos, Edad, Domicilio, Teléfono particular, Teléfono celular, Email, Email Alterno, Fecha de ingreso, Fecha de salida, Usuario y Habitación, cabe mencionar que mediante el lenguaje AJAX, el campo usuario se adapta con la funcionalidad de autocompletado, esto se realiza con el fin de mostrar todos los nombres de usuarios existentes para que el usuario indique otro, para evitar repetir el mismo usuario en la base de datos y evitar complicaciones a la hora de las sesiones, como es lógico se indica al usuario el porqué del autocompletado con un comentario en letras rojas debajo del campo usuario.
De cualquier forma si el usuario no sigue las instrucciones el formulario se enviará, pero mediante el script PHP consultará la base de datos y la tabla huéspedes y si encuentra que el usuario es duplicado, se enviará una alerta donde indica que ese nombre de usuario ya existe, y regresa al formulario nuevamente.
Los demás campos incluido, el de nombre de usuario, serán validados mediante JavaScript, todos a excepción del teléfono celular se tendrán que cargar en caso de que no sea así; JavaScript realiza su trabajo y envía advertencias sobre el completado de los campos. Una vez que este procedimiento de validación es correcto, el formulario se envía al script PHP en el cuál toma los datos del formulario con la variable $_POST (ver el anexo sistema de registros de usuarios como administrador y usuarios) y mediante una consulta se ingresará la información a la base de datos y tabla huéspedes, para corroborar que el proceso fue completo, se envía un mensaje donde se indica que el preregistro fue completo.
Como bien se menciono en la parte de sesión de administrador (página 33), esta parte de registros es más completa pues se puede modificar, eliminar o registrar a un usuario, esto se diseña para un control optimo y vigilado de los usuarios por parte de los administradores.
Para registrar a un nuevo usuario es prácticamente lo mismo que la sección del público en general, con excepción de que se amplían campos como se muestra en la fig(..), el proceso del script de PHP es lo mismo con la excepción de que se agrega la parte de envío de información por mail, simplemente se utiliza la función mail(correo, titulo del correo, información); (ver anexo sistema de registro de usuarios general), la información que se envía es la de usuario y contraseña, para que el usuario tenga esos datos en su cuenta personal.
Con lo que respecta a la modificación y eliminación de registros de usuarios, se maneja mediante la ayuda de AJAX, pues se elabora un buscador de usuarios. Este funciona con ayuda de un campo de texto, al momento de introducir algún dato nos mostrara los usuarios que en su nombre contengan una de las letras escritas en el buscador o si se escribió un nombre completo nos mostrara los usuarios existentes con ese nombre, esto se realiza con la conexión a la base de datos, se edita mediante tablas para dar vistosidad al buscador, esto quiere decir que la información que muestra esta elaborada en tablas. Una vez que el
buscador nos muestra la información deseada se agregan mediante código dos opciones, la primera es la modificación de datos y la segunda es la de eliminar el registro.
Si se elige la opción modificar datos, en automático el script PHP genera un formulario con los campos llenos del usuario seleccionado. Este formulario es el mismo que el de registro; realiza las mismas funciones con la excepción de que el nombre de usuario jamás podrá ser cambiado, y tampoco hay campos de contraseñas a menos que el administrador seleccione dicha opción, este formulario no crea un registro nuevo solo actualiza el registro existente mediante una consulta realizada dentro de un script PHP.
Para la eliminación del registro es más simple pues solo basta con dar click en esta opción, donde se notificará si en verdad desea eliminar ese registro en caso de respuesta negativa no se realiza ninguna acción, pero en caso contrario se envía la petición a un script PHP que se encarga de eliminar el registro mediante una consulta a la base de datos.