ceu-notes/2/IAW/assignments/t3-ej4-ejercicios-php-naortega/t3-ej4-ejercicios-php-naortega.tex

194 lines
4.8 KiB
TeX
Raw Permalink Normal View History

2022-11-12 10:51:06 +00:00
\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}