Creando una aplicación web con PHP (Parte 4)

Buenas a todos!, por fin! vacaciones Open-mouthed smile  y eso significa que estare seguido por aqui Winking smile.

Hasta ahora lo que hemos estado haciendo en las partes anteriores es poder mostrar contenido y ademas poder crear contenido, lo que tengo pensado ahora hacer es crear sesiones, esto quiere decir que solo un administrador podra entrar a la pagina donde se crea contenido y solo el que este autentificado podra crear contenido, esto es necesario en cualquier sitio web.

Usuarios.class.php y UsuariosDAL.class.php

Primero que nada vamos a crear una nueva clase que se llamara Usuarios.class.php

image 

En la clase usuarios vamos a poner las propiedades siguientes:

image Y como ya lo hemos hecho anteriormente, una vez agregando las propiedades de la clase en insertar codigo agregamos un getter y setter para cada uno de estos.

Ahora como ya tenemos nuestro “modelo” vamos a crear otra clase, como ya lo hemos hecho anteriormente; creamos una clase llamada UsuariosDAL.class.php y agregamos esta funcion que servira para autentificar a los usuarios que intenten iniciar sesion

image

Primero que nada, han notado los comentarios que estan arriba?, son para esto:

image

Sirve para que se cree un tipo de documentacion, esta aparecera al momento que Netbeans autocomplete y dara la descripcion de la funcion que intentamos usar.

En si la funcion es sencilla de entender, estamos creando un objeto con las propiedades que la consulta nos arrojara, como estamos seguros que solo sera un registro el que nos devolvera por eso solo usamos un “if” y no un “while”. La consulta en si podra ser un poco insegura y vulnerable a inyecciones SQL pero mas delante veremos que no sera tan vulnerable.

Ya tenemos nuestras 2 calses y la funcion que va a determinar si el email y el password estan bien, ahora lo que tenemos que hacer es una pagina donde el administrador pueda iniciar sesion.

Para eso vamos a crear una nueva pagina con el siguiente codigo html y php (nuestra plantilla)

Login.php

image

A esta pagina debajo de los comentarios, le agregaremos un formulario que tendra 2 campos:

image

Todo lo que estamos viendo aqui es puro HTML, estamos dandole los nombres “email” y “pass” a los campos para recogerlos despues desde PHP  y posteriormente iniciar la autentificacion, el fieldset y legend son para que se vea de la manera siguiente:

image

Las propiedades que le damos a la etiqueta <form> son el nombre del formulario, el metodo que se usara para enviar la informacion (puede ser GET o POST) y action es la pagina a donde enviara los datos, en este caso es autentificar.php que aun no existe y es la que vamos a crear mas adelante.

Hay que validar el formulario, por que existe la posibilidad que el usuario no ingrese ningun dato y aun asi quiera presionar el boton, asi que haremos lo siguiente:

image

Aqui estamos creando una etiqueta script que contendra codigo JavaScript, y dentro de esta creamos una funcion llamada “enviarFormulario”, lo que hacemos es obtener el formulario desde document.NombreDelFormulario y lo guardamos en una variable form, de igualmanera obtenemos los valores de pass y email que se escribieron en el formulario, lo siguiente vendra siendo pura logica que se puede deducir. La instruccion form.submit() envia ya el formulario y sus datos a la pagina action que se especifico en las etiquetas <form>

Falta agregar el evento click al boton del formulario:

image

Ahora solo falta hacer el script que va a evaluar si los datos ingresados estan bien

autentificar.php

Creamos un nuevo archivo PHP y agregamos el siguiente script

image

Aqui ya estamos manejando sesiones de PHP, las sesiones son valores que se almacenan en un arreglo global, este arreglo es accesible desde todo nuestro sitio web, esto nos ayuda a comprobar si el usuario que esta navegando por nuestro sitio web esta autentificado (en caso de que existan paginas que no se puedan accesar por todos, en nuestro caso admin.php)

siempre cuando usamos sesiones debemos poner “session_start()” al inicio de todo nuestro script, y apartir de alli el arreglo $_SESSION sera accesible.

Dentro del primer IF simplemente obtenemos los datos del formulario con $_POST y el nombre del input que nosotros le pusimos, se manda a llamar la funcion autentificar, si esta todo bien nos devolvera un objeto tipo Usuarios, si no nos devolvera NULL, es por eso que en el siguiente IF comprobamos que el objeto no sea nulo y posteriormente comprobamos si el tipo de usuario es administrador, dentro de ese if comenzamos a hacer uso del arreglo “$_SESSION, el nombre que le demos en el indice, ese nombre sera por el cual nosotros podremos accederlo desde otras paginas, guardamos los datos necesarios de la session para manejarla despues

Ahora tenemos que modificar de nuevo  login.php

(Al inicio del script)

image

NOTA: el switch es para poder mandar muchos mensajes por medio de URLS, asi de facil podriamos poner mensaje=1 en el URL y aqui en este switch poner otro mensaje de alerta o algo similar.

Ahora agregamos esto en esta misma pagina al final de la tabla:

image

De esta forma, si el usuario ingreso mal sus datos se le hace saber:

image

Ahora solo falta hacer validas las sesiones para la pagina admin.php, porque ahorita ya estamos registrando la sesion y todo, pero no hemos hecho nada en la pagina admin.php

admin.php

Simplemente tenemos que agregar la comparacion de si existe la sesion o no :

image

Modificamos esto que se encuentra mas abajo

image

Si no existe la sesion, vamos a redireccionar a la pantalla de login pero con un mensaje diferente, en este caso sera de que “no tiene permisos para esa pagina” o algo similar, ademas estamos agregando el nombre que guardamos de la sesion, esto es para dar un saludo de bienvenida

image

ahora en login.php

image

Y de esta manera nos mostrara un mensaje diciendo que tenemos que iniciar sesion para poder entrar a admin.php

Al parecer esto es todo por este post

Saludos

Anuncios

21 comentarios sobre “Creando una aplicación web con PHP (Parte 4)

    1. De la misma manera que se hace aqui, si sabes como realizar las conexiones a la base de datos en Oracle, solo realiza el mismo procedimiento que se muestra aqui, nomas haciendo la conexion a Oracle, segun recuerde no cambia mucho la sintaxis en las sentencias SQL

      1. Excelente trabajo asi se aprende mucho, cuando crees que sea posible ver el codigo de este muy buen proyecto. Gracias

      2. Tengo un par de fallas y no las encuentro por eso la peticion del codigo, y por cierto me olvidaba de preguntarte como llamas a cualquier pagina desde el index, es posible un ejemplo…. gracias

      1. Recibido, infinitamente agradecido por el tutorial, veo incluso que esta la parte de la programación para móviles.

    1. Ya revisé, y en la base de datos que hicimos en este tutorial, sí se tomó en cuenta poder agregar comentarios, pero la implementación no se llevo acabo en los tutoriales. Lo siento.

      Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s