\documentclass[12pt,a4paper,titlepage]{article} \usepackage[spanish]{babel} \usepackage{hyperref} \usepackage{graphicx} \usepackage{subcaption} \title{Tema III Ejercicio IV: Ejercicios PHP} \author{Nicolás A. Ortega Froysa} \begin{document} \maketitle \tableofcontents \pagebreak \section{Introducción} Para montar este proyecto, en primer lugar habría que crear un directorio nuevo donde guardar el proyecto. Dentro de este directorio creamos otro subdirectorio denominado {\tt imgs/}, en donde colocaremos tres imágenes cualquieras, pero con los nombres {\tt img0.jpg}, {\tt img1.jpg}, y {\tt img2.jpg} -- asegurarse de que estén en formato JPEG, o en la práctica cambia donde pone {\tt .jpg} con la extensión {\tt .png}. Para instalar PHP simplemente hay que correr el comando siguiente: \begin{verbatim} $ sudo apt install php \end{verbatim} Una vez instalado, para montar un servidor y comprobar nuestros ejercicios, tan sólo será necesario correr el comando siguiente, y podremos acceder a nuestro servidor en nuestro navegador en la dirección {\tt localhost:8080/\<archivo\>}, donde {\tt \<archivo\>} es el nombre de nuestro archivo PHP, y {\tt \<dir\>} es el directorio del proyecto: \begin{verbatim} $ php -S localhost:8080 -t <dir> \end{verbatim} \section{Ejercicio I: Imagen Aleatoria} \noindent {\it Crea una página php que muestre de forma aleatoria dos imágenes. Es decir, se muestra una u otra de forma aleatoria e impredecible.} \hfill \noindent En un archivo {\tt ej1.php}, añadimos el código siguiente: \begin{verbatim} <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Imagen Aleatoria</title> </head> <body> <?php $imgs[0] = "imgs/img0.jpg"; $imgs[1] = "imgs/img1.jpg"; ?> <img src="<?= $imgs[mt_rand(0, count($imgs) - 1)] ?>" /> </body> </html> \end{verbatim} \noindent Como añadido, para añadir una imagen más, tan sólo hace falta añadir otra imagen a nuestro {\it array} y funciona igual: \begin{verbatim} <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Imagen Aleatoria</title> </head> <body> <?php $imgs[0] = "imgs/img0.jpg"; $imgs[1] = "imgs/img1.jpg"; $imgs[2] = "imgs/img2.jpg"; ?> <img src="<?= $imgs[mt_rand(0, count($imgs) - 1)] ?>" /> </body> </html> \end{verbatim} \section{Ejercicio II} \noindent { \it Lee el nombre, los apellidos, el salario (en decimales) y la edad de una persona (número) en un formulario. Recoge los datos y con ellos calcula un nuevo salario para esa persona en base a esta situación: \begin{enumerate} \item Si el salario es mayor de 2000€ no cambiará \item Si el salario esta entre 1000 y 2000: \begin{enumerate} \item Si además la edad es mayor de 45 años, se sube un 3\%. \item Si la edad es menor de 45 o igual se sube un 10\%. \end{enumerate} \item Si el salario es menor de 1000 \begin{enumerate} \item Los menores de 30 años cobraran, a partir de ahora, exactamente 1110€. \item DE 30 a 45 años, sube un 3\% \item A los mayores e 45 años , sube un 15\%. \end{enumerate} \end{enumerate} } \noindent Esto se puede conseguir con dos archivos: {\tt ej2.php} y {\tt calc-sal.php}. El primero, {\tt ej2.php}, tendrá este aspecto: \begin{verbatim} <!DOCTYPE html> <html> <head> <title>Calculate Salary</title> </head> <body> <form action="calc-sal.php" method="POST" > Name: <input type="text" name="name" /><br /> Sirname: <input type="text" name="sirname" /><br /> Salary: <input type="number" name="salary" /><br /> Age: <input type="number" name="age" /><br /> <input type="submit" /> </form> </body> </html> \end{verbatim} \noindent El segundo, {\tt calc-sal.php}, para calcular el salario en sí, será de la manera siguiente: \begin{verbatim} <!DOCTYPE html> <html> <head> <title>Calculate Salary</title> </head> <body> <?php $name = $_POST["name"]; $sirname = $_POST["sirname"]; $salary = $_POST["salary"]; $age = $_POST["age"]; if($salary > 1000 && $salary <= 2000) { if($age > 45) $salary *= 1.03; else $salary *= 1.1; } else if($salary <= 1000){ if($age < 30) $salary = 1100; else if($age <= 45) $salary *= 1.03; else $salary *= 1.15; } ?> Name: <?= $name ?><br /> Sirname: <?= $sirname ?><br /> Salary: <?= $salary ?>€<br /> Age: <?= $age ?><br /> </body> </html> \end{verbatim} \section{Conclusión} En general no es difícil de usar PHP. Es programación de toda la vida. Lo más complicado es averiguar cómo organizar el código para poder tener acceso a los variables que quieres cuando las quieres. \pagebreak \section{Derechos de Autor y Licencia} \noindent Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa <nicolas@ortegas.org> \\ \\ Este documento se distribuye bajo los términos y condiciones de la licencia Creative Commons Attribution No Derivatives 4.0 International. \end{document}