php
This commit is contained in:
parent
d72a399125
commit
ac6c9c7d8a
117
Practicas/Practicas_PHP/POO/INTRO8_PHP_POO.php
Normal file
117
Practicas/Practicas_PHP/POO/INTRO8_PHP_POO.php
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>INTRO8 POO EN PHP</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>POO EN PHP</h1>
|
||||
<h2>Clases en POO</h2>
|
||||
<?php
|
||||
|
||||
// Definición de la clase
|
||||
class Coche {
|
||||
// Propiedades
|
||||
public $marca;
|
||||
public $modelo;
|
||||
public $color;
|
||||
|
||||
// Método constructor
|
||||
public function __construct($marca, $modelo, $color) {
|
||||
$this->marca = $marca;
|
||||
$this->modelo = $modelo;
|
||||
$this->color = $color;
|
||||
}
|
||||
|
||||
// Método para mostrar la información del coche
|
||||
public function mostrarInformacion() {
|
||||
echo "Marca: " . $this->marca . "<br>";
|
||||
echo "Modelo: " . $this->modelo . "<br>";
|
||||
echo "Color: " . $this->color . "<br>";
|
||||
}
|
||||
}
|
||||
|
||||
// Creación de un objeto (instancia de la clase Coche)
|
||||
$miCoche = new Coche("Toyota", "Corolla", "Rojo");
|
||||
|
||||
var_dump($miCoche);
|
||||
$miCoche->marca = "Seat"; // Modificar una propiedad
|
||||
var_dump($miCoche);
|
||||
|
||||
|
||||
// Acceso a las propiedades del objeto y llamada a un método
|
||||
echo "<h2>Información de mi coche:</h2>";
|
||||
$miCoche->mostrarInformacion();
|
||||
|
||||
//Herencia
|
||||
// Definición de la clase hija CocheDeportivo que hereda de Coche (Superclase y subclase)
|
||||
class CocheDeportivo extends Coche {
|
||||
// Propiedades adicionales para un coche deportivo
|
||||
public $potencia;
|
||||
public $aceleracion;
|
||||
|
||||
// Método constructor
|
||||
public function __construct($marca, $modelo, $color, $potencia, $aceleracion) {
|
||||
// Llamada al constructor de la clase padre
|
||||
parent::__construct($marca, $modelo, $color);
|
||||
// Asignación de las propiedades adicionales
|
||||
$this->potencia = $potencia;
|
||||
$this->aceleracion = $aceleracion;
|
||||
}
|
||||
|
||||
// Método para mostrar información específica de un coche deportivo
|
||||
public function mostrarInformacionDeportiva() {
|
||||
//parent::mostrarInformacion();
|
||||
echo "Potencia: " . $this->potencia . "<br>";
|
||||
echo "Aceleración: " . $this->aceleracion . "<br>";
|
||||
}
|
||||
}
|
||||
|
||||
// Creación de un objeto CocheDeportivo
|
||||
$miCocheDeportivo = new CocheDeportivo("Ferrari", "458 Italia", "Rojo", "570 CV", "3,4 segundos");
|
||||
|
||||
// Acceso a los métodos de la clase base y de la clase hija
|
||||
echo "<h2>Información de mi coche deportivo:</h2>";
|
||||
$miCocheDeportivo->mostrarInformacion(); // Método de la clase base
|
||||
$miCocheDeportivo->mostrarInformacionDeportiva(); // Método de la clase hija
|
||||
|
||||
|
||||
// Encapsulación
|
||||
class Persona {
|
||||
private $nombre;
|
||||
private $edad;
|
||||
|
||||
public function __construct($nombre, $edad) {
|
||||
$this->nombre = $nombre;
|
||||
$this->edad = $edad;
|
||||
}
|
||||
|
||||
public function getNombre() {
|
||||
return $this->nombre;
|
||||
}
|
||||
|
||||
public function setNombre($nombre) {
|
||||
$this->nombre = $nombre;
|
||||
}
|
||||
|
||||
public function getEdad() {
|
||||
return $this->edad;
|
||||
}
|
||||
|
||||
public function setEdad($edad) {
|
||||
$this->edad = $edad;
|
||||
}
|
||||
}
|
||||
|
||||
$persona = new Persona("Juan", 30);
|
||||
|
||||
//$persona->nombre = "Pedro";Acceso privado
|
||||
//echo $persona->nombre; // Acceso privado
|
||||
echo "Nombre: " . $persona->getNombre() . ", Edad: " . $persona->getEdad();
|
||||
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -84,8 +84,6 @@
|
|||
?>
|
||||
|
||||
|
||||
|
||||
|
||||
<form method="post">
|
||||
<p>*ID de reserva para borrar: </p>
|
||||
<input type="text" name="idReserva" value="" id="idReserva" size="15" minlength="15" maxlength="15" placeholder="Id de reserva" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,129 @@
|
|||
<!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>
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
<!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 '<form method="post">';
|
||||
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>";
|
||||
|
||||
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 checkbox con el ID del alquiler como valor
|
||||
echo "<td><input type='checkbox' name='Ids_borrar[]' value='$arrayLinea[0]'></td>";
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
}
|
||||
|
||||
// Cierro la tabla
|
||||
echo "</table>";
|
||||
//cerrar el archivo
|
||||
fclose($archivo);
|
||||
|
||||
// Vacio los datos de POST
|
||||
unset($_POST);
|
||||
|
||||
}
|
||||
?>
|
||||
<br>
|
||||
|
||||
<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['Ids_borrar'])) {
|
||||
$borrado = $_POST['Ids_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(in_array($id_alquiler,$borrado) === false) {
|
||||
fwrite($accesoTemporal, $linea);
|
||||
}
|
||||
}
|
||||
|
||||
fclose($accesoLista);
|
||||
fclose($accesoTemporal);
|
||||
|
||||
// Borrar listado y renombrar el temporal
|
||||
unlink($listaAlquileres);
|
||||
rename($temporal, $listaAlquileres);
|
||||
|
||||
// Borrar ficha de reserva individual
|
||||
foreach ($borrado as $alquiler) {
|
||||
$ficha_individual = "alquileres/alquiler_" .$alquiler.".txt";
|
||||
if (file_exists($ficha_individual)) {
|
||||
if (unlink("alquileres/alquiler_" .$alquiler.".txt") !== false) {
|
||||
echo "<div><p>La ficha de reserva de alquiler: $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()
|
||||
foreach ($borrado as $dnialquiler) {
|
||||
$dni_archivos = glob("dni_clientes/*_{$dnialquiler}_*");
|
||||
|
||||
if (unlink($dni_archivos[0])) {
|
||||
echo '<div><p>El archivo ' . $dnialquiler . ' fue eliminado exitosamente.</p></div>';
|
||||
} else {
|
||||
echo '<div><p>Ocurrió un error al intentar eliminar el archivo ' . $dnialquiler . '.</p></div>';
|
||||
}
|
||||
}
|
||||
// Vacio los datos de POST
|
||||
unset($_POST);
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -110,9 +110,9 @@
|
|||
"<h4> Esta es la informacion detallada de tu reserva ! </h4>" . "<p>" . nl2br($fichaReserva) . "</p>";
|
||||
}
|
||||
|
||||
// Añadir al listado_reservas.txt una línea de reserva
|
||||
// Añadir al listado_alquileres.txt una línea de reserva
|
||||
$registroReserva = implode('/_/', [$idReserva, $nombre, $email, $telefono, $fecha_inicio, $fechaReserva, $dias, $tipo]) . "\r\n";
|
||||
$nombre_archivo = "listado_reservas.txt";
|
||||
$nombre_archivo = "listado_alquileres.txt";
|
||||
if (file_put_contents($nombre_archivo, $registroReserva, FILE_APPEND | LOCK_EX) === false) {
|
||||
$exito = false;
|
||||
$msgError[] = "Error al guardar la lista de reservas.";
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user