194 lines
4.8 KiB
TeX
194 lines
4.8 KiB
TeX
\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}
|