Compare commits

...

2 Commits

Author SHA1 Message Date
bb3a34af71 php 2024-02-15 09:10:38 +01:00
4e56440f32 PHP 2024-02-14 11:13:53 +01:00
9 changed files with 816 additions and 237 deletions

View File

@ -1,237 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EJERCICIO3 PHP CONDICIONALES</title>
</head>
<body>
<h2>1.</h2>
<?php
//1. Comprueba las siguientes condiciones, e indica si se entra o no en el condicional:
echo 1;
if (True && True) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 2;
if (False && True) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 3;
if (1 == 1 && 2 == 1) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 4;
if ("test" == "test") {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 5;
if (1 == 1 || 2 != 1) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 6;
if (True && 1 == 1) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 7;
if (False && 0 != 0) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 8;
if (True || 1 == 1) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 9;
if ("test" == "testing") {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 10;
if (1 != 0 && 2 == 1) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 11;
if ("test" != "testing") {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 12;
if ("test" == 1) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 13;
if (!(True && False)) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 14;
if (!(1 == 1 && 0 != 1)) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 15;
if (!(10 == 1 || 1000 == 1000)) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 16;
if (!(1 != 10 || 3 == 4)) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 17;
if (!("testing" == "testing" && "Zed" == "Cool Guy")) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 18;
if (1 == 1 && (!("testing" == 1 || 1 == 0))) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 19;
if ("chunky" == "bacon" && (!(3 == 4 || 3 == 3))) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
echo 20;
if (3 == 3 && (!("testing" == "testing" || "PHP" == "Fun"))) {
echo "Entro en el condicional";
} else {
echo "No entro en el condicional";}
echo '<br>';
?>
<h2>2.</h2>
<?php
/*2. Control de acceso por edad:
(Obten el año de nacimiento con un random entre 1900 y 2023)
(Obten el año actual del sistema en lugar de escribirlo a mano en una variable con date('Y'))
-Calcula la edad.
-Si es mayor de edad, dile que puede pasar dentro.
-Si es menor, dile que no puede pasar.
-Si tiene más de 65 años, dile que es demasiado mayor para entrar.*/
$actual=date("Y");
$nacido=rand(1900,2023);
$edad=$actual-$nacido;
echo $edad;
echo '<br>';
if ($edad<18) { echo 'No puedes pasar';} else if ($edad>65) {echo 'Eres muy mayor';} else {echo 'Puedes pasar';}
echo '<br>';
?>
<h2>3.</h2>
<?php
/*3. La función date() con el parametro 'D' nos devuelve las tres primeras letras del día de la semana en inglés: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
Ej.echo date('D'); // Salida Mon
Empleando switch debemos hacer que en la página salga un mensaje como este con el día en español "Hoy es XXXX".*/
echo date('D');
echo '<br>';
//Switch
//Mon, Tue, Wed, Thu, Fri, Sat, Sun
$diaIngles=date('D');
switch ($diaIngles) {
case 'Mon':
echo "Hoy es Lunes";
break;
case 'Tue':
echo "Hoy es Martes";
break;
case 'Wed':
echo "Hoy es miercoles";
break;
case 'Thu':
echo "Hoy es Jueves";
break;
case 'Fri':
echo "Hoy es Viernes";
break;
case 'Sat':
echo "Hoy es Sabado";
break;
case 'Sun':
echo "Hoy es Domingo";
break;
default:
echo "No se a que es igual";
break;
}
echo '<br>';
?>
<h2>4.</h2>
<?php
/*4.Crea un simulador de tirada de dados dobles:
- Da la puntuación de la tirada.
- Debe indicarnos si la tirada es par o impar.
- Si sacamos una tirada doble debe indicarlo.*/
//Ahora lo pasamos a tres dados indica cuando se saca un doble y un trio
echo 'Con dos dados';
echo '<br>';
$dado1=rand(1,6);
$dado2=rand(1,6);
$tirada=$dado1+$dado2;
echo $dado1;
echo '<br>';
echo $dado2;
echo '<br>';
echo "Tu tirada es $tirada";
echo '<br>';
if ($dado1 == $dado2) {echo 'Tu tirada es doble';} else {echo 'Tu tirada no es doble';}
echo '<br>';
if (($tirada%2)==0){echo 'Tu trirada es par';} else {echo 'Tu trirada es impar';};
//Ahora lo pasamos a tres dados indica cuando se saca un doble y un trio
echo '<br>';
echo '<br>';
echo 'Con tres dados';
echo '<br>';
$dado1=rand(1,6);
$dado2=rand(1,6);
$dado3=rand(1,6);
$tirada=$dado1+$dado2+$dado3;
echo $dado1;
echo '<br>';
echo $dado2;
echo '<br>';
echo $dado3;
echo '<br>';
echo "Tu tirada es $tirada";
echo '<br>';
if (($tirada%2)==0){echo 'Tu trirada es par';} else {echo 'Tu trirada es impar';};
echo '<br>';
if ($dado1 == $dado2 && $dado2 == $dado3) {echo 'Tu tirada es triple';} else
if ($dado1 == $dado2 || $dado2 == $dado3 || $dado1 == $dado3) {echo 'Tu tirada es doble';}
echo '<br>';
?>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Intro3 PHP FUNCIONES</title>
</head>
<body>
<h1>Funciones en PHP</h1>
<form>
<?php
//--- Declarar
/*function nombre_de_funcion(tipo_de_parametro $parametros): tipo_return
{ ...
return ...;
}*/
//--- Llamar
//nombre_de_funcion($parametros);
//--- Estructura correcta
/**
* Función con educación
* @return {string}
*/
function saludar_ahora(): string
{
return 'Hola, soy una función';
}
echo saludar_ahora();
echo '<br>';
// Hola, soy una función
// --- Nuestros parámetros de entrada pueden tener un valor por defecto.
/**
* Saluda a una persona
* @param {string} - Nombre
* @return {string}
*/
function saludar(string $nombre = 'Anónimo'): string
{
return 'Hola, persona llamada ' . $nombre ;
}
echo saludar();
echo '<br>';
// Hola, persona llamada Anónimo.
echo saludar('Picasso');
echo '<br>';
// Hola, persona llamada Picasso.
//De forma automática PHP arreglará las incompatibilidades de tipos.
function incrementar(int $num): int
{
return $num + 1;
}
echo incrementar(4.5);
echo '<br>';
// 5
//Podemos declarar el modo estricto para que no admita errores de tipo
//declare(strict_types=1);
//Return con posibilidad de null
//function nombre(): ?string {...}
//Es posible indicar 2 tipos diferentes de parametros
//function nombre(): int|string
// -------------- Algunas funciones de arrays ------------
// Diccionario
$apartamentos = [
[
'precio/noche' => 40,
'ciudad' => 'Valencia',
'wifi' => True,
'pagina web' => 'https://hotel.com'
],
[
'precio/noche' => 87,
'ciudad' => 'Calpe',
'wifi' => True,
'pagina web' => 'https://calpe.com'
],
[
'precio/noche' => 67,
'ciudad' => 'Valencia',
'wifi' => False,
'pagina web' => 'https://denia.com'
],
[
'precio/noche' => 105,
'ciudad' => 'Benidorm',
'wifi' => False,
'pagina web' => 'https://benidorm.com'
]
];
//array_walk (Iterar) // Puede modificar el array original
array_walk($apartamentos, function ($apartamento, $posicion) {
echo $posicion+1 .' '. $apartamento['ciudad'] . '<br>';
});
/*
1 Valencia
2 Calpe
3 Valencia
4 Benidorm
*/
echo '<br>';
//array_filter (filtrar) // No modifica el original
$todosLosApartamentosValencia = array_filter($apartamentos, function ($apartamento) {
return $apartamento['ciudad'] === 'Valencia';
});
// Extraería los dos array con ciudad Valencia
//array_map (modificar)
$apartamentosMasBaratos = array_map(function ($apartamento) {
return array_merge($apartamento, ['precio/noche' => $apartamento['precio/noche'] - 1]);
}, $apartamentos);
// Le restará a todos los precio/noche
//array_reduce (calcular)
$media = array_reduce($apartamentos, function ($acumulador, $apartamento) {
return $apartamento['precio/noche'] + $acumulador;
}, 0) / count($apartamentos);
?>
</body>
</html>

View File

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Intro5 PHP FORMULARIOS</title>
</head>
<body>
<h1>Formularios</h1>
<form action="" method="get">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre"><br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email"><br><br>
<label for="telefono">Teléfono:</label>
<input type="text" id="telefono" name="telefono"><br><br>
<label for="nombre1">Nombre 1:</label>
<input type="text" id="nombre1" name="nombres[]"><br>
<label for="nombre2">Nombre 2:</label>
<input type="text" id="nombre2" name="nombres[]"><br>
<label for="nombre3">Nombre 3:</label>
<input type="text" id="nombre3" name="nombres[]"><br><br>
<input type="reset" value="Limpiar datos" /><br>
<input type="submit" value="Enviar">
</form>
<?php
//En el formulario method indica como se envía la información(get y post)
//En el formulario action indica a donde se envía la información, si no indicamos nada va a la misma página
// Variables superglobales en PHP son variables predefinidas que están disponibles en todos los ámbitos (locales, globales, funciones, etc.)
//$_REQUEST es un array asociativo con los datos que llegan del formulario $_GET, $_POST y $_COOKIE
//var_dump($_REQUEST) para consultarlo
//
//Accedo al array para obtener el dato nombre
//echo $_REQUEST['nombre'];
//$_REQUEST su uso se desaconseja por seguridad
//$_GET datos enviados a través de la URL con el método GET name=>value --- key=>value
//$_POST datos enviados a través del cuerpo de la solicitud con el método POST
// Verificamos si el formulario fue enviado
if ($_SERVER["REQUEST_METHOD"] == "GET") {
// Verificamos si se han enviado datos
if (isset($_GET["nombre"]) && isset($_GET["email"])) {
// Obtenemos los datos del formulario
$nombre = $_GET["nombre"];
$email = $_GET["email"];
var_dump($_REQUEST);
// Accedo a los datos
echo "<h2>Variables enviadas</h2>";
echo "Nombre: " . $nombre . "<br>";
echo "Email: " . $email . "<br>";
} else {
echo "Por favor, complete todos los campos del formulario.";
}
// Captar una variable con operador ternario
$telefono = isset($_GET['telefono']) ? $_GET['telefono'] : null;
}
//var_dump($_REQUEST);
echo "<br>";
echo $telefono;
echo "<br>";
// ---Usar campos para enviar arrays, debemos poner el mismo name
//<input type="text" id="nombre1" name="nombres[]">
$array_nombres = isset($_GET['nombres']) ? $_GET['nombres'] : [];
echo "<br>";
//var_dump($array_nombres);
echo "<br>";
?>
</body>
</html>

View File

@ -0,0 +1,98 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>INTRO 5 FORMULARIOS PHP SUBIR ARCHIVOS</title>
</head>
<body>
<h2>1. SUBIR ARCHIVOS</h2>
<!-- Formulario -->
<form method="post" enctype="multipart/form-data">
<p>
<!-- Campo archivo -->
Adjuntar* <input type="file" name="fichero_usuario" required>
</p>
<p>
<!-- Campo archivo -->
Adjuntar* <input type="file" name="fichero_usuario2" required>
</p>
<!-- Campo archivo -->
<p>
</p>
<p>
<!-- Botón limpiar -->
<input type="reset" value="Limpiar">
</p>
<p>
<!-- Botón submit -->
<input type="submit" value="Enviar">
</p>
</form>
<?php
// Necesitaremos usar siempre el method POST y añadir enctype="multipart/form-data". Por último usar el input de tipo archivo (file).
// $_FILES variable superglobal, es un array multidimendional que recoge la informacion de los archivos subidos
//Acceso a los datos de cada fichero
//El nombre original del fichero en la máquina del cliente.
// $_FILES['fichero_usuario']['name']
//El tamaño, en bytes, del fichero subido.
//$_FILES['fichero_usuario']['size']
//El nombre temporal del fichero en el cual se almacena el fichero subido en el servidor.
//$_FILES['fichero_usuario']['tmp_name']
// Para realizar la gestión del archivo se utiliza:
//move_uploaded_file(ruta_archivo_temporal, ruta_destino)
// Verificar que hay archivos que subir
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["fichero_usuario"]) && isset($_FILES["fichero_usuario2"])) {
// Definir directorio donde se guardará
$dir_subida = 'uploads/';
//datos del arhivo
$nombre_archivo = $_FILES['fichero_usuario']['name']; // Nombre original archivo
$tipo_archivo = $_FILES['fichero_usuario']['type'];
$tamano_archivo = $_FILES['fichero_usuario']['size'];
$ruta_archivo_temporal= $_FILES['fichero_usuario']['tmp_name'];
$tamano_archivo2 = $_FILES['fichero_usuario2']['size'];
// Definir la ruta final del archivo
$ruta_destino = $dir_subida .$_FILES['fichero_usuario']['name'];
$ruta_destino2 = $dir_subida .$_FILES['fichero_usuario2']['name'];
//Variable llamada $_FILES
print_r($_FILES);
//Limitación de tamaño
$max_file_size=1000000;
if ($tamano_archivo<$max_file_size && $tamano_archivo2<$max_file_size) {
// Moverlo de la carpeta temporal a la definitiva, usando el método move_uploaded_file().
//move_uploaded_file($archivo_temporal, $ruta_destino)
move_uploaded_file($_FILES['fichero_usuario']['tmp_name'], $ruta_destino);
move_uploaded_file($_FILES['fichero_usuario2']['tmp_name'], $ruta_destino2);
echo "<p>Archivo subido correctamente</p>";
} else {echo "<p>Los archivos son demasido grandes</p>";}
}
// Función pathinfo()
// $archivo='/ruta/del/archivo/nombre_archivo.txt';
//$extension = pathinfo($archivo, PATHINFO_EXTENSION);// 'txt'
//PATHINFO_DIRNAME: Devuelve el directorio padre del archivo.
//PATHINFO_BASENAME: Devuelve el nombre base del archivo, incluida la extensión.
//PATHINFO_EXTENSION: Devuelve la extensión del archivo.
//PATHINFO_FILENAME: Devuelve el nombre del archivo sin la extensión.
//Buscar elementos en un array
//in_array($elemento_buscado, $array)
?>
</body>
</html>

View File

@ -0,0 +1,93 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>INTRO6 PHP ESCRIBIR ARCHIVOS</title>
</head>
<body>
<h2>1. ESCRIBIR ARCHIVOS</h2>
<?php
// Manejo de archivos en PHP
//Verificar si existe un archivo
$nombre_fichero='escritura/prueba.txt';
if (file_exists($nombre_fichero)) {
echo "El fichero $nombre_fichero existe";
} else {
echo "El fichero $nombre_fichero no existe";
}
echo '<br>';
// Verificar si es editable
//is_writable()
//Abrir archivos fopen()
//Devuelvo 0 si no va, o coloca el puntero en una posición del archivo.
//$fp = fopen("miarchivo.txt", "r");
//Modo Descripción
//r Apertura para lectura. Puntero principio
//r+ Apertura para lectura y escritura. Puntero principio
//w Apertura para escritura. Puntero principio sobreescribe.No existe se intenta crear.
//w+ Apertura para lectura y escritura. Puntero principio sobreescribe. Si no existe se intenta crear.
//a Apertura para escritura. Puntero final. Si no existe se intenta crear.
//a+ Apertura para lectura y escritura. Puntero final. Si no existe se intenta crear.
//x Creación y apertura para sólo escritura. Puntero principio del archivo. Si el archivo ya existe dará error E_WARNING. Si no existe se intenta crear.
//x+ Creación y apertura para lectura y escritura.
//c Apertura para escritura. Si no existe se crea. Si existe no se sobreescribe ni da ningún error. Puntero principio.
//c+ Apertura para lectura y escritura. Mismo comportamiento que C.
//Abrir archivo con fopen()
$nombre_archivo = "escritura/letra.txt";
$conexion = fopen($nombre_archivo, "r");
echo '<br>';
if (!$conexion) { echo("Error abriendo archivo"); }
echo '<hr/>';
//Leer el archivo con fgets() o fread()
//fgets() lee solo una línea, se puede usar en bucles línea por línea
//fread() un tamaño de bytes
// Conocer tamaño de un archivo
//filesize($archivo)
//Ejemplo con fgets()
$tamanio_bufer =100; # bytes letras
$contenido=fread($conexion, $tamanio_bufer); // Nota: aquí podrías concatenar en una cadena, guardarlo por ahí, etcétera
echo "\nLeído: " .$contenido.'<br>';
// Cerrar archivo tras la lectura
fclose($conexion);
echo '<hr/>';
//Leer el contenido con file_get_contents()
//Lee todo el contenido no requiere fopen y fclose
// Obtener contenido de archivo como string
$todo_contenido = file_get_contents($nombre_archivo);
echo "El contenido es: " . "<pre>$todo_contenido</pre>";
echo '<hr/>';
//Escribir en archivos con php
//Método 1 fwrite()
$nombreArchivo = "escritura/hola.txt";
$archivo = fopen($nombreArchivo, "w");
//Con w lo crea si no existe y lo sobreescribe
fwrite($archivo, "Hola mundo azúl!"."\n"."Cómo va lo mío? ");
fclose($archivo);
//Metodo 2 file_put_contents()
//No requiere fopen y fclose, no sobrescribe
$nombreArchivo2 = "escritura/direccion.txt";
$datos = "New New York #456";
file_put_contents($nombreArchivo2, $datos ,FILE_APPEND | LOCK_EX);
?>
</body>
</html>

View File

@ -0,0 +1,147 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>EJERCICIO5 PHP FORMULARIOS V1</title>
</head>
<body>
<h2>1. Datos formulario</h2>
<form method="post">
<p>Nombre <input type="text" name="nombre"></p>
<p>Teléfono <input type="tel" name="telefono"></p>
<p>Correo <input type="mail" name="correo"></p>
<p>Mensaje <input type="text" name="mensaje"></p>
<p><input type="submit" value="Enviar"></p>
</form>
<?php
/*
Realiza un formulario con los siguientes datos: nombre, telefono, email y mensaje.
Cuando se pulse en enviar debe mostrar la siguiente plantilla.
“Hola nombre!
Te voy a enviar spam a correo y te llamaré de madrugada a telefono.
mensaje
Enviado desde un iPhone”*/
$nombre = isset($_POST['nombre']) ? $_POST['nombre'] : null;
$telefono = isset($_POST['telefono']) ? $_POST['telefono'] : null;
$correo = isset($_POST['correo']) ? $_POST['correo'] : null;
$mensaje = isset($_POST['mensaje']) ? $_POST['mensaje'] : null;
if ( $nombre != null && $telefono != null && $correo != null && $mensaje != null ) {
echo '<br>';
echo "Hola $nombre";
echo '<br>';
echo "Te voy a enviar spam a $correo y te llamaré de madrugada al $telefono .";
echo '<br>';
echo $mensaje;
echo '<br>';
echo 'Enviado desde mi Iphone';
echo '<br>';
}
?>
<h2>2. ¿Quien saca al perro?</h2>
<form method="post">
<textarea name="nombres"></textarea>
<p><input type="reset" value="Limpiar"></p>
<p><input type="submit" value="Enviar"></p>
</form>
<?php
//¿Quién saca al perro?
/*
Escribe en un textarea una lista de nombres.
Cuando pulses un botón debes mostrar un nombre aleatorio. (Será el encargado de sacar al perro)
Muestra la respuesta con la siguiente plantilla: nombre sacará el perro a pasear.*/
$nombres=isset($_POST['nombres'])? $_POST['nombres'] : '';
if ( $nombres != '') {
$arrayNombres=preg_split('/[\s,]+/', $nombres);
$num=count($arrayNombres)-1;
$ale=rand(0,$num);
echo '<br>';
echo "$arrayNombres[$ale] sacará el perro a pasear";
}
echo '<br>';
?>
<h2>3. Adivinanza</h2>
<p> “Esta cosa se devora a todas las cosas;<br>
Pájaros, bestias, árboles, flores;<br>
Carcome el hierro, muerde el acero;<br>
Muele duras piedras y las reduce a harina;<br>
Mata al rey, arruina la ciudad,<br>
Y derriba a la montaña.</p>
<form method="post">
<p>Respuesta <input type="text" name="respuesta"></p>
<p><input type="submit" value="Enviar"></p>
</form>
<?php
/*3.Adivinanza:
“Esta cosa se devora a todas las cosas;
Pájaros, bestias, árboles, flores;
Carcome el hierro, muerde el acero;
Muele duras piedras y las reduce a harina;
Mata al rey, arruina la ciudad,
Y derriba a la montaña.
- En un input, pide la respuesta.
- Añade un botón de submit.
- Si se pulsa el botón debes comprobar si ha acertado. La respuesta es: Tiempo.
- Si acierta felicítale.
- Si pierde, muestra la respuesta y dile que es un burricán.*/
$respuesta='tiempo';
$respuestaU=isset($_POST['respuesta'])? strtolower($_POST['respuesta']) : '';
if ($respuestaU != '') {
if ($respuesta == $respuestaU || (str_contains($respuestaU,$respuesta))) {echo '<p>Enhorabuena !!</p><p>Has acertado</p>';}
else {echo '<p>No has acertado !!</p><p>Eres un burrican , la respuesta es: tiempo</p>';}
} else { echo 'Debes responder en la casilla'; }
?>
<h2>4. Calculadora de IVA</h2>
<form method="post">
<p>Introduce el precio sin IVA <input type="text" name="precioneto" value="0"></p>
<p><input type="submit" value="Enviar"></p>
</form>
<?php
//Calculadora de IVA
// Debemos crear una calculadora de IVA, el usuario introduce el precio en un input y le damos el precio con IVA.
$precioneto=isset($_POST['precioneto'])? $_POST['precioneto'] : '';
$precio=round(floatval($precioneto)*1.21,2);
echo "<p>El precio con IVA es de $precio Euros</p>";
?>
<h2>5. Lista de películas</h2>
<form method="post">
<p>Película 1 <input type="text" name="peliculas[]" ></p>
<p>Película 2 <input type="text" name="peliculas[]" ></p>
<p>Película 3 <input type="text" name="peliculas[]" ></p>
<p>Película 4 <input type="text" name="peliculas[]" ></p>
<p>Película 5 <input type="text" name="peliculas[]" ></p>
<p><input type="submit" name="enviar" value="Añadir"></p>
</form>
<?php
/*5.Listado de películas
Crea 5 inputs y un botón de submit.
Rellena cada campo de los inputs con el nombre de una película.
Cuando se pulse debe guardar el contenido en un array.
Imprime el resultado en una tabla en cada fila la posición de la pelicula y el nombre en distintas celdas*/
$peliculas=[];
echo "<br>";
$peliculas=isset($_POST['peliculas']) ? $_POST['peliculas'] : [];
echo "<br>";
echo '<table border="2">';
foreach ($peliculas as $posicion=>$nombre) {
$posicion=$posicion+1;
echo "<tr><td>$posicion</td><td>$nombre</td></tr>";
}
echo '</table>';
echo "<br>";
?>
</body>
</html>

View File

@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Subir Archivo de DNI</title>
</head>
<body>
<h2>Subir Archivo de DNI</h2>
<form action="" method="post" enctype="multipart/form-data">
<label for="name">* Nombre:</label><br>
<input type="text" id="nombre" name="nombre" required><br><br>
<label for="email">* Correo Electrónico:</label><br>
<input type="email" id="email" name="email" required><br><br>
<label for="dniFile">* Subir DNI (jpg o pdf, tamaño máximo 5MB):</label><br>
<input type="file" id="dniFile" name="dniFile" accept=".jpg,.pdf" required><br><br>
<input type="submit" value="Enviar" name="submit">
</form>
</body>
</html>
<?php
// Verifica si el formulario ha sido enviado
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["dniFile"])) {
// Nombre y correo electrónico del usuario
$nombre = $_POST["nombre"];
$email = $_POST["email"];
// Directorio donde se guardarán los archivos subidos
$directorio_subida = "dni_usuarios/";
// Nombre del archivo y ruta de destino
$nombre_archivo=$_FILES["dniFile"]["name"];
$nombre_archivo_final = time().'_'.rand(100,999).'_'.$email.'_'.$nombre_archivo;
$ruta_archivo = $directorio_subida . $nombre_archivo_final;
// Tamaño máximo permitido (5MB)
$tamano_maximo = 5 * 1024 * 1024;
// Obtiene la extensión del archivo
$extension_archivo = strtolower(pathinfo($_FILES["dniFile"]["name"], PATHINFO_EXTENSION));
// Array de extensiones permitidas
$extensiones_permitidas = array("jpg", "jpeg", "pdf");
// Verifica si el archivo es una extensión permitida y no excede el tamaño máximo
if (in_array($extension_archivo, $extensiones_permitidas) && $_FILES["dniFile"]["size"] <= $tamano_maximo) {
// Verifica si hubo algún error durante la subida del archivo
if ($_FILES["dniFile"]["error"] === 0) {
// Intenta mover el archivo al directorio de destino
if (move_uploaded_file($_FILES["dniFile"]["tmp_name"], $ruta_archivo)) {
echo "El archivo " . htmlspecialchars($nombre_archivo) . " ha sido subido exitosamente.";
} else {
echo "Lo siento, hubo un error al subir el archivo.";
}
} else {
echo "Error: " . $_FILES["dniFile"]["error"];
}
} else {
echo "Lo siento, solo se permiten archivos en formato JPG o PDF con un tamaño máximo de 5MB.";
}
}
?>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ejercicio6_04</title>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<label for="nombre">Nombre: </label><input type="text" name="nombre" id="nombre" required> <br><br>
<label for="email">E-Mail: </label><input type="text" name="email" id="email" required> <br><br>
<label for="nif">NIF: </label><input type="file" name="nif" id="nif" accept=".jpg,.pdf" required> <br> <br>
<input type="submit" value="Enviar">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["nif"])) {
$directorioDestino = 'uploads/';
$email = $_POST['email'];
$nombre_archivo = basename($_FILES["nif"]['name']);
$tipoArchivo = strtolower(pathinfo($nombre_archivo, PATHINFO_EXTENSION));
$tamanoArchivo = $_FILES["nif"]["size"];
$ext_permitidas = array("jpg", "pdf");
$tamanoMaximo = 5 * 1024 * 1024;
if ($tamanoArchivo <= $tamanoMaximo && in_array($tipoArchivo, $ext_permitidas)) {
$nombreUnico = time() . "_" . mt_rand(100, 999) . "_" . $email . "_" . $nombre_archivo . "." . $tipoArchivo;
$rutaArchivoDestino = $directorioDestino . $nombreUnico;
move_uploaded_file($_FILES["nif"]["tmp_name"], $rutaArchivoDestino);
} else {
echo 'No se ha podido subir el fichero';
}
}
?>
</body>
</html>

View File

@ -0,0 +1,162 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ejercicio 5 PHP</title>
</head>
<body>
<!-- 1.Realiza un formulario con los siguientes datos: nombre, telefono, email y mensaje.
Cuando se pulse en enviar debe mostrar la siguiente plantilla. -->
<h2>Formulario de contacto</h2>
<form action="" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre">
<br>
<label for="telefono">Teléfono:</label>
<input type="tel" id="telefono" name="telefono">
<br>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
<br>
<label for="mensaje">Mensaje:</label>
<br>
<textarea id="mensaje" name="mensaje" rows="5" cols="30"></textarea>
<br>
<input type="submit" value="Enviar">
<br>
<br>
</form>
<?php
// Verificamos si el formulario fue enviado
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST["nombre"]) && isset($_POST["email"]) && isset($_POST["telefono"]) && isset($_POST["mensaje"])) {
echo "Hola {$_POST["nombre"]}! <br>Te voy a enviar span a {$_POST["email"]} y te llamare de madrugada al {$_POST["telefono"]} <br>";
echo "Para decirte: <br>";
echo $_POST["mensaje"];
echo '<br>';
echo "Enviado desde un Iphone";
}
}
?>
<!-- 2. ¿Quién saca al perro?
Escribe en un textarea una lista de nombres.
Cuando pulses un botón debes mostrar un nombre aleatorio. (Será el encargado de sacar al perro)
Muestra la respuesta con la siguiente plantilla: nombre sacará el perro a pasear. -->
<form action="" method="post">
<label for="listaPerro">Lista de nombres:</label>
<br>
<textarea id="listaPerro" name="listaPerro" rows="5" cols="30"></textarea>
<br>
<input type="submit" value="Enviar">
<br>
<br>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST["listaPerro"])) {
$nombres = $_POST['listaPerro'];
$listaNombres = explode("\n", $nombres);
$indiceAleatorio = rand(0, count($listaNombres) - 1);
$nombreElegido = $listaNombres[$indiceAleatorio];
echo $nombreElegido;
}
}
?>
<!-- 3.Adivinanza: -->
<form action="" method="post">
<label for="respuesta">Adivinanza: <br>
“Esta cosa se devora a todas las cosas; <br>
Pájaros, bestias, árboles, flores;<br>
Carcome el hierro, muerde el acero;<br>
Muele duras piedras y las reduce a harina;<br>
Mata al rey, arruina la ciudad,<br>
Y derriba a la montaña. <br></label>
<input type="text" name="respuesta" id="respuesta">
<br>
<input type="submit" value="Comprobar respuesta">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST["respuesta"])) {
$resp = $_POST["respuesta"];
if ($resp === "Tiempo") {
echo "Enhorabuena!!! Acertaste";
} else {
echo "Lo siento, la respuesta no es correcta";
}
}
}
?>
<br>
<br>
<!-- 4.Calculadora de IVA
Debemos crear una calculadora de IVA, el usuario introduce el precio en un input y le damos el precio con IVA. -->
<form action="" method="post">
<label for="precio">Introduce el precio:</label>
<input type="text" name="precio" id="precio">
<input type="submit" value="Calcula el precio con iva">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST["precio"])) {
$pvpSin = round(floatval($_POST["precio"]),2);
$pvpCon = $pvpSin * 1.21;
echo "El precio con IVA es $pvpCon";
}
}
?>
<!-- 5.Listado de películas
Crea 5 inputs y un botón de submit.
Rellena cada campo de los inputs con el nombre de una película.
Cuando se pulse debe guardar el contenido.
Imprime el resultado en una tabla en cada fila la posición de la pelicula y el nombre en distintas celdas -->
<form action="" method="post">
<br>
<br>
<label for="nombrePelicula[]">Introduce nombres de pelicula</label> <br>
<input type="text" name="nombrePelicula[]" id="nombre1"><br>
<input type="text" name="nombrePelicula[]" id="nombre2"><br>
<input type="text" name="nombrePelicula[]" id="nombre3"><br>
<input type="text" name="nombrePelicula[]" id="nombre4"><br>
<input type="text" name="nombrePelicula[]" id="nombre5"><br>
<input type="submit" value="Enviar"><br>
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (isset($_POST["nombrePelicula"])) {
$peliculas = $_POST["nombrePelicula"];
echo "<table border='2'>";
echo "<tr><td>Posicion</td><td>Nombre pelicula</td></tr>";
foreach ($peliculas as $index => $pelicula) {
$index=$index+1;
echo "<tr>";
echo "<td>$index</td>";
echo "<td>$pelicula</td>";
echo "</tr>";
}
echo "</table>";
}
}
?>
</body>
</html>