IFCD0210/Practicas/Practicas_PHP/ejercicios/examen/buscador_alquileres_boton.php
2024-02-29 13:50:34 +01:00

130 lines
4.3 KiB
PHP

<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Buscador de reservas de alquiler</title>
<link rel="stylesheet" type="text/css" href="estilos.css" />
</head>
<body>
<form method="post">
<p>*Término a buscar: </p><p><input type="text" name="busqueda" id="busqueda" size="30" placeholder="Introduzca la palabra de busqueda" required></p>
<input type="submit" name="buscar" value="Buscar" >
</form>
<?php
//Suponiendo que el archivo caracteres.php está en la misma carpeta:
include('caracteres.php');
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['buscar'])) {
// Busca una palabra
$busqueda=isset($_REQUEST['busqueda'])? $_REQUEST['busqueda']: "" ;
//Abrir el archivo
$archivo = fopen('listado_alquileres.txt', 'r');
//Leer el archivo
if (!$archivo) { echo("Error abriendo archivo"); }
// Abro la tabla
echo '<br>';
echo '<table border="2">';
echo "<tr><th>Id Alquiler</th><th>Nombre</th><th>Correo</th><th>Teléfono</th><th>Fecha de inicio</th><th>Fecha de alquiler</th><th>Duración</th><th>Tipo de vehículo</th><th>-BORRAR-</th></tr>";
//Busco la coincidencia
while (($linea = fgets($archivo)) != false) {
if(strpos(eliminar_tildes(strtolower($linea)), eliminar_tildes(strtolower($busqueda))) !== false){
// Mostrar la tabla con array
$arrayLinea=explode('/_/', $linea);
echo "<tr><td>$arrayLinea[0]</td><td>$arrayLinea[1]</td><td>$arrayLinea[2]</td><td>$arrayLinea[3]</td><td>$arrayLinea[4]</td><td>$arrayLinea[5]</td><td>$arrayLinea[6]</td><td>$arrayLinea[7]</td>";
// Añadir un botón de borrar con un formulario dentro de la misma celda
echo "<td>";
echo "<form method='post'>";
echo "<input type='hidden' name='Id_borrar' value='$arrayLinea[0]'>";
echo "<input type='submit' name='borrar' value='Borrar'>";
echo "</form>";
echo "</td>";
echo "</tr>";
}
}
// Cierrro la tabla
echo "</table>";
//cerrar el archivo
fclose($archivo);
// Vacio los datos de POST
unset($_POST);
}
?>
<br>
<form method="post">
<p>*ID de alquiler para borrar: </p><input type="text" name="Id_borrar" value="" id="Id_borrar" size="15" minlength="15" maxlength="15" placeholder="Id Alquiler" required/>
<input type="submit" name="borrar" value="Borrar reserva de alquiler" >
</form>
<?php
// Borrar reservas de alquiler
$listaAlquileres = "listado_alquileres.txt";
$temporal = "temp.txt";
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['borrar']) && isset($_POST['Id_borrar'])) {
$borrado = $_POST['Id_borrar'];
$accesoLista = fopen($listaAlquileres, 'r');
$accesoTemporal = fopen($temporal, 'w');
// Buscar la reserva por ID
while (($linea = fgets($accesoLista)) !== false) {
// Obtener el ID de reserva de la línea actual
$arrayLinea = explode('/_/', $linea);
$id_alquiler = $arrayLinea[0];
// Si el ID de reserva no coincide
if(trim($id_alquiler) !== trim($borrado)) {
fwrite($accesoTemporal, $linea);
}
}
fclose($accesoLista);
fclose($accesoTemporal);
// Borrar listado y renombrar el temporal
unlink($listaAlquileres);
rename($temporal, $listaAlquileres);
// Borrar ficha de reserva individual
$ficha_individual = "alquileres/alquiler_" .$borrado.".txt";
if (file_exists($ficha_individual)) {
if (unlink("alquileres/alquiler_" .$borrado.".txt") !== false) {
echo "<div><p>La ficha de reserva de alquiler se ha borrado</p></div>";
}
} else {
echo "<div><p>La ficha de reserva de alquiler no se ha encontrado</p></div>";
}
// Borrar DNI con glob()
$dni_archivos = glob("dni_clientes/*_{$borrado}_*");
foreach ($dni_archivos as $dni_aborrar) {
if (unlink($dni_aborrar)) {
echo '<div><p>El archivo ' . $dni_aborrar . ' fue eliminado exitosamente.</p></div>';
} else {
echo '<div><p>Ocurrió un error al intentar eliminar el archivo ' . $dni_aborrar . '.</p></div>';
}
}
// Vacio los datos de POST
unset($_POST);
}
?>
</body>
</html>