Entregable final

 Entregable final

Para el entregable final lo primero que hay que hacer es cambiar todos los archivos html por archivos php. Una vez hecho esto empezaremos creando una plantilla con los estilos (head.php), otra con la cabecera (header.php) y por último otra con el pie (footer.php); con el propósito de juntar el código que se reutiliza en todas las páginas en un solo archivo. Para incluir la plantilla en cada página lo único que hay que hacer es incluir el siguiente fragmento php en la parte que se desea (cambiando el nombre por el de la plantilla que se quiere poner):


Al añadir las plantilla del header, ha habido que modificar los enlaces del navegador para que funcionen en todas las páginas.

Una vez terminadas las plantillas, el siguiente paso es crear el formulario.php. La estructura de la página seguirá siendo la misma que en el entregable de página estática. En primer lugar es necesario sustituir los textos predeterminados por los que se ponen en el formulario. Para ello utilizamos la sentencia <?php echo htmlspecialchars($message); ?> , recuperando así los distintos valores de las cajas del formulario.


Una vez hecho esto, lo siguiente ha sido implementar las dos funciones que va a tener el formulario. Por un lado mandará por correo una copia de sus respuestas al usuario. Por otro registrará en una base de datos la información suministrada por el usuario. Para la función del correo electrónico utilizamos la función mail() de php. Primero se validan los campos y posteriormente se envía el correo de la siguiente forma: 

Sin embargo, al estar utilizando un hosting gratis, el hosting público no permitirá enviar los correos. No obstante el código permanecerá ahí por si se decide pagar un host. Entonces pondremos este texto en la parte del html:


Después creamos la base de datos en el hosting utilizando php-myAdmin que nos ofrece el host. La base de datos tendrá la siguiente estructura:


Para que podamos conectarnos a la base de datos desde la página web es necesario crear el archivo conectar.php (contiene la información de la base de datos y la contraseña), que será el encargado de crear el objeto db para poder insertar la información en la tabla. En formulario.php será necesario este código:

Posteriormente hacemos una prueba para comprobar que la información se añade a la base de datos:
Ya por último añadimos estas sentencias en la parte de html de formulario.php para avisar al cliente de cuándo ha habido éxito con la conexión:



Para terminar procedemos a arreglar algunos aspectos mejorables del primer entregable. El primero de ellos es la ubicación del título "¿Qué es Codaste?" para que sea consistente con el resto de títulos de la web. A continuación se muestra el antes y el después:


Ya por último, he cambiado la sección de "¿Qué ofrecemos?" para que exista un contraste con la sección anterior con el propósito de distinguirlas claramente. Para ello he puesto una imagen de fondo y he cambiado el color del texto para leerlo con claridad. 



Además para que la foto se adapte a los distintos tamaños de pantalla he añadido el siguiente código CSS a la sección:


Mejora: posibilidad de descargar un pdf con la copia de las respuestas al formulario.

Dado que el correo electrónico con la copia de las respuestas de momento no funciona, he decidido añadir una funcionalidad especial. He introducido un botón con el que puedes descargar una copia en pdf de las respuestas al formulario. Esta copia se alojará en una carpeta en el servidor. Para ello hemos descargado una carpeta en fpdf.org


Después he modificado el código php de formulario.php para que una vez guardada la información en la base de datos se cree y se almacene en el servidor la copia pdf. Mediante la función iconv() se consigue poder escribir acentos y la letra "ñ":




Para finalizar en la parte html del código hemos introducido estas líneas para que al presionar el icono de descarga, se pueda guardar el archivo desde el servidor:



El pdf que se guardaría sería el siguiente:







Comentarios

Entradas populares de este blog

Colores

Entregable página estática