\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}
