sesiones
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
<?php
|
||||
// Comprobamos si existe la sesión de apodo
|
||||
session_start();
|
||||
if (!isset($_SESSION['usuario'])) {
|
||||
// En caso contrario devolvemos a la página login.php
|
||||
header('Location: login_usuarios.php');
|
||||
die();
|
||||
}
|
||||
?>
|
||||
|
||||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Buscador de reservas</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<!-- Saludamos -->
|
||||
<h1>Bienvenido <?php echo $_SESSION['usuario']; ?></h1>
|
||||
<!-- Botón para cerrar la sesión -->
|
||||
<a href="logout.php">Cerrar sesión</a>
|
||||
<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></div>
|
||||
|
||||
<?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_reservas.txt', 'r');
|
||||
|
||||
//Leer el archivo
|
||||
|
||||
if (!$archivo) { echo("Error abriendo archivo"); }
|
||||
|
||||
// Abro la tabla
|
||||
echo '<br>';
|
||||
echo '<table border="2">';
|
||||
echo "<tr><th>Id Reserva</th><th>Nombre</th><th>Correo</th><th>Teléfono</th><th>Entrada</th><th>Salida</th><th>Fecha reserva</th><th>Duración</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);
|
||||
//foreach ($arrayLinea as $dato) {
|
||||
// echo "<td>$dato</td>";
|
||||
//}
|
||||
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></tr>";
|
||||
|
||||
}
|
||||
}
|
||||
// Cierrro la tabla
|
||||
echo "</table>";
|
||||
//cerrar el archivo
|
||||
fclose($archivo);
|
||||
|
||||
// Vacio los datos de POST
|
||||
unset($_POST);
|
||||
|
||||
}
|
||||
?>
|
||||
<br>
|
||||
<div><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"/>
|
||||
<input type="submit" name="borrar" value="Borrar reserva de alquiler" >
|
||||
</form></div>
|
||||
|
||||
<?php
|
||||
|
||||
// Borrar reservas de alquiler
|
||||
$listaReservas = "listado_reservas.txt";
|
||||
$temporal = "temp.txt";
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['borrar']) && isset($_POST['Id_borrar'])) {
|
||||
$borrado = $_POST['Id_borrar'];
|
||||
|
||||
$accesoLista = fopen($listaReservas, '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_reserva = $arrayLinea[0];
|
||||
|
||||
// Si el ID de reserva no coincide
|
||||
if(trim($id_reserva) !== trim($borrado)) {
|
||||
fwrite($accesoTemporal, $linea);
|
||||
}
|
||||
}
|
||||
|
||||
fclose($accesoLista);
|
||||
fclose($accesoTemporal);
|
||||
|
||||
// Borrar listado y renombrar el temporal
|
||||
unlink($listaReservas);
|
||||
rename($temporal, $listaReservas);
|
||||
|
||||
// Borrar ficha de reserva individual
|
||||
$ficha_individual = "reservas/reserva_" .$borrado.".txt";
|
||||
if (file_exists($ficha_individual)) {
|
||||
if (unlink("reservas/reserva_" .$borrado.".txt") !== false) {
|
||||
echo "<div><p>La ficha de reserva se ha borrado</p></div>";
|
||||
}
|
||||
} else {
|
||||
echo "<div><p>La ficha de reserva 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>
|
||||
209
Practicas/Practicas_PHP/ejercicios/Sesiones/formulario_hotel.php
Normal file
209
Practicas/Practicas_PHP/ejercicios/Sesiones/formulario_hotel.php
Normal file
@@ -0,0 +1,209 @@
|
||||
|
||||
<?php
|
||||
// Comprobamos si existe la sesión
|
||||
session_start();
|
||||
if (!isset($_SESSION['usuario'])) {
|
||||
// En caso contrario devolvemos a la página login.php
|
||||
header('Location: login_usuarios.php');
|
||||
die();
|
||||
}
|
||||
?>
|
||||
|
||||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Reservas hotel</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
<script>
|
||||
// Función obtener() que realizará la captación de datos,los cálculos y la escritura del mensaje de info
|
||||
|
||||
function obtener() {
|
||||
// Declaro y obtengo el valor de las variables
|
||||
|
||||
//Calcular periodo de la estancia (noches)
|
||||
const inicio=document.getElementById("entradaH").valueAsNumber;
|
||||
const fin=document.getElementById("salida").valueAsNumber;
|
||||
const dif=fin - inicio;
|
||||
const noches=Math.ceil(dif/(1000*60*60*24));
|
||||
document.getElementById("noches").value=noches;
|
||||
|
||||
|
||||
const habitacion=document.getElementById("habitacion").value;
|
||||
const regimen=document.getElementById("regimen").value;
|
||||
const spa=document.getElementById("spa").value;
|
||||
const guia=document.getElementById("guia").value;
|
||||
const nombreCliente=document.getElementById("nombre").value;
|
||||
|
||||
//Cáculo extras (spa y guia)
|
||||
let spaT;
|
||||
|
||||
if (spa>5) {
|
||||
spaT=spa*20;
|
||||
}else {
|
||||
spaT=spa*30;
|
||||
}
|
||||
|
||||
let guiaT;
|
||||
|
||||
if(guia>7) {
|
||||
guiaT=guia*40;
|
||||
} else {
|
||||
guiaT=guia*50;
|
||||
}
|
||||
|
||||
// Tipo habitación
|
||||
let hotel;
|
||||
if (habitacion === "simple") {
|
||||
hotel=50;
|
||||
}
|
||||
|
||||
if (habitacion === "doble") {
|
||||
hotel=80;
|
||||
}
|
||||
|
||||
if (habitacion === "triple") {
|
||||
hotel=120;
|
||||
}
|
||||
|
||||
if (habitacion === "suite") {
|
||||
hotel=150;
|
||||
}
|
||||
|
||||
//Tipo de regimen
|
||||
let comidas;
|
||||
if (regimen === "desayuno") {
|
||||
comidas=50;
|
||||
}
|
||||
|
||||
if (regimen === "mediapension") {
|
||||
comidas=80;
|
||||
}
|
||||
|
||||
if (regimen === "pensioncompleta") {
|
||||
comidas=120;
|
||||
}
|
||||
|
||||
if (regimen === "todoincluido") {
|
||||
comidas=150;
|
||||
}
|
||||
|
||||
// Gastos estancia hotel+comidas
|
||||
const hotelT=hotel*noches;
|
||||
const regimenT=comidas*noches;
|
||||
|
||||
const estancia=hotelT+regimenT;
|
||||
|
||||
// Descuento por larga estancia
|
||||
let estanciaDescuento;
|
||||
if (noches <= 4) {
|
||||
estanciaDescuento = estancia;
|
||||
} else if (noches >= 5 && noches <= 10) {
|
||||
estanciaDescuento = estancia * 0.85;
|
||||
} else if (noches >= 11) {
|
||||
estanciaDescuento = estancia * 0.75;
|
||||
}
|
||||
|
||||
//Envío el precio total sin IVA al formulario
|
||||
document.getElementById("estancia").value=estanciaDescuento;
|
||||
|
||||
//Coste total con extras
|
||||
const total=estanciaDescuento+spaT+guiaT;
|
||||
const totalI=(total*1.21).toFixed(2);
|
||||
// Envío el precio con IVA al formulario
|
||||
document.getElementById("total").value=totalI;
|
||||
// Precio de anulación
|
||||
const precioAnulacion=(total*0.2).toFixed(2);
|
||||
|
||||
|
||||
// Calcular días que faltan y fecha de regreso
|
||||
const hoy=new Date().getTime();// Fecha de la reserva
|
||||
const entrada=document.getElementById("entradaH").valueAsNumber;
|
||||
const dif2=entrada-hoy;
|
||||
const diasFaltan=dif2/(1000*60*60*24);// Días que faltan
|
||||
|
||||
const regresoF=new Date(fin);// Obtener en UTC
|
||||
const regresoP=regresoF.toLocaleDateString();//Pasar fecha a formato corto dd/mm/xxxx
|
||||
|
||||
const anulacion=entrada-(3*24*60*60*1000);//Fecha de anulación
|
||||
const anulacionF=new Date(anulacion);
|
||||
const anulacionP=anulacionF.toLocaleDateString();
|
||||
//Mensaje de información
|
||||
const frase=
|
||||
"Hola "+nombreCliente+"\n"
|
||||
+"Faltan "+(Math.ceil(diasFaltan))+ " días "+"para tu viaje"+"\n"
|
||||
+"Tu fecha de regreso es el "+regresoP+"\n"
|
||||
+"Puedes anular tu reserva hasta el día "+anulacionP+"\n"
|
||||
+"El coste de la anulación será de " +precioAnulacion+ " euros" ;
|
||||
//Enviar mensaje al formulario
|
||||
document.getElementById("info").value=frase;
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div><!-- Saludamos -->
|
||||
<h1>Hola <?php echo $_SESSION['usuario']; ?> puede realizar su reserva</h1>
|
||||
<!-- Botón para cerrar la sesión -->
|
||||
<a href="logout.php">Cerrar sesión</a></div>
|
||||
|
||||
<div id="container">
|
||||
<form action="recibe_formulario_hotel.php" method="post" enctype="multipart/form-data">
|
||||
<h2>Reserve su habitación</h2>
|
||||
<fieldset>
|
||||
<legend>Datos de la reserva</legend>
|
||||
<p><label for="entradaH">Elige la fecha de entrada</label> <input type="date" id="entradaH" name="entrada">
|
||||
<p><label for="salida">Elige la fecha de salida</label> <input type="date" id="salida" name="salida"></p>
|
||||
<p><label for="habitacion">Seleccione el tipo de habitación</label>
|
||||
<!-- Lista de selección -->
|
||||
<select name="habitacion" id="habitacion">
|
||||
<option value="simple">Simple</option>
|
||||
<option value="doble">Doble</option>
|
||||
<option value="triple">Triple</option>
|
||||
<option value="suite">Suite</option>
|
||||
</select></p>
|
||||
<p><label for="regimen">Seleccione el regimen de alojamiento</label>
|
||||
<!-- Lista de selección -->
|
||||
<select name="regimen" id="regimen">
|
||||
<option value="desayuno">Desayuno</option>
|
||||
<option value="mediapension">Media pensión</option>
|
||||
<option value="pensioncompleta">Pensión Completa</option>
|
||||
<option value="todoincluido">Todo Incluido</option>
|
||||
</select></p>
|
||||
<p><label for="estancia">Coste de la estancia (Habitación + Comidas)</label> <input type="text" name="estancia" id="estancia"></p>
|
||||
<p><label for="spa">Acceso al Spa, elija cuantos días</label> <input type="number" name="spa" id="spa" value="0" size="3"></p>
|
||||
|
||||
<p><label for="guia">Servicio de guía turístico, elija cuantos días </label><input type="number" name="guia" id="guia" value="0" size="3"></p>
|
||||
<p><label for="total">Coste total con IVA incluido </label><input type="text" name="total" id="total" ></p>
|
||||
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Datos personales</legend>
|
||||
<p><label for="nombre">*Nombre: </label><input type="text" name="nombre" id="nombre" placeholder="Nombre y Apellidos" required></p>
|
||||
<p><label for="mail">*Correo electrónico: </label><input type="email" name="email" id="mail" placeholder="Escribe tu correo" required></p>
|
||||
<p><label for="telefono">*Teléfono:</label> <input type="tel" id="telefono" name="telefono" required></p>
|
||||
<p>Check-in online (opcional):</p>
|
||||
<p><label for="dni">DNI:</label> <input type="text" id="dni" name="dni" ></p>
|
||||
<p><label for="adjuntos">Adjunte fotocopia de DNI </label><input type="file" name="dnifile" id="dnifile" accept=".pdf,.jpg" ></p>
|
||||
<div id="flex">
|
||||
<div>
|
||||
<input type="button" value="Calcular coste total" onclick="obtener()">
|
||||
<br><input type="reset" name="limpiar" value="Borrar" />
|
||||
<br><input type="submit" value="Enviar la reserva" >
|
||||
<input id="noches" name="noches" type="hidden" value="noches">
|
||||
|
||||
</div>
|
||||
<textarea name="info" id="info" >Información de su viaje</textarea>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Login de acceso</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
<body>
|
||||
<div><h2>Login de Usuarios</h2>
|
||||
<form method="post">
|
||||
<p>
|
||||
<label for="usuario">Usuario:</label>
|
||||
<input type="text" id="usuario" name="usuario" placeholder="Usuario">
|
||||
</p>
|
||||
<p>
|
||||
<label for="contraseña">Contraseña:</label>
|
||||
<input type="password" id="contraseña" name="contraseña" placeholder="Contraseña">
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Entrar">
|
||||
</p>
|
||||
</form></div>
|
||||
|
||||
<div>
|
||||
<p><a href="registro_usuarios_cliente.php">Registarse como cliente</a></p>
|
||||
<p><a href="registro_usuarios_hotel.php">Registarse como personal del hotel</a></p>
|
||||
</div>
|
||||
<?php
|
||||
// Verificar si se ha enviado el formulario
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Obtener los datos del formulario
|
||||
$usuario = $_POST['usuario'];
|
||||
$contraseña = $_POST['contraseña'];
|
||||
|
||||
// Archivo de usuarios
|
||||
$archivo = "usuarios.txt";
|
||||
|
||||
// Verificar si el archivo existe
|
||||
if (file_exists($archivo)) {
|
||||
// Abrir el archivo en modo de lectura
|
||||
$conexion = fopen($archivo, "r");
|
||||
|
||||
// Variable para usuario
|
||||
$usuario_encontrado = false;
|
||||
$nombre_usuario;
|
||||
$acceso_usuario;
|
||||
// Leer el archivo línea por línea
|
||||
while (($linea = fgets($conexion)) !== false) {
|
||||
// Separar el nombre de usuario y la contraseña de cada línea
|
||||
list($usuario_registrado, $contraseña_registrada, $nombre_registrado ,$acceso_registrado) = explode(":", trim($linea));
|
||||
|
||||
// Comparar los datos
|
||||
if ($usuario === $usuario_registrado && password_verify($contraseña, $contraseña_registrada)) {
|
||||
$usuario_encontrado = true;
|
||||
$nombre_usuario=$nombre_registrado;
|
||||
$acceso_usuario=$acceso_registrado;
|
||||
$correo_usuario=$usuario_registrado;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Cerrar el archivo
|
||||
fclose($conexion);
|
||||
|
||||
// Verificar si se encontró
|
||||
if ($usuario_encontrado) {
|
||||
// Si los datos son válidos, iniciar sesión y redirigir al usuario
|
||||
session_start();
|
||||
$_SESSION['usuario'] = $nombre_usuario;
|
||||
$_SESSION['correo'] = $correo_usuario;
|
||||
|
||||
if ($acceso_usuario === "cliente") {
|
||||
header('Location: perfil_cliente.php'); // Redireccionar a la página de cliente
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($acceso_usuario === "hotel") {
|
||||
header('Location: buscador_reservas.php'); // Redireccionar a la página de gestión
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
// Si los datos no son válidos, mostrar un mensaje de error
|
||||
echo '<p style="color: red">El nombre de usuario o la contraseña son incorrectos.</p>';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Login de acceso</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
<body>
|
||||
<div><h2>Login de Usuarios</h2>
|
||||
<form method="post">
|
||||
<p>
|
||||
<label for="usuario">Usuario:</label>
|
||||
<input type="text" id="usuario" name="usuario" placeholder="Usuario">
|
||||
</p>
|
||||
<p>
|
||||
<label for="contraseña">Contraseña:</label>
|
||||
<input type="password" id="contraseña" name="contraseña" placeholder="Contraseña">
|
||||
</p>
|
||||
<p>
|
||||
<input type="submit" value="Entrar">
|
||||
</p>
|
||||
</form></div>
|
||||
|
||||
<div>
|
||||
<p><a href="registro_usuarios_comun.php?acceso=cliente">Registarse como cliente</a></p>
|
||||
<p><a href="registro_usuarios_comun.php?acceso=hotel">Registarse como personal del hotel</a></p>
|
||||
</div>
|
||||
<?php
|
||||
// Verificar si se ha enviado el formulario
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Obtener los datos del formulario
|
||||
$usuario = $_POST['usuario'];
|
||||
$contraseña = $_POST['contraseña'];
|
||||
|
||||
// Archivo de usuarios
|
||||
$archivo = "usuarios.txt";
|
||||
|
||||
// Verificar si el archivo existe
|
||||
if (file_exists($archivo)) {
|
||||
// Abrir el archivo en modo de lectura
|
||||
$conexion = fopen($archivo, "r");
|
||||
|
||||
// Variable para usuario
|
||||
$usuario_encontrado = false;
|
||||
$nombre_usuario;
|
||||
$acceso_usuario;
|
||||
// Leer el archivo línea por línea
|
||||
while (($linea = fgets($conexion)) !== false) {
|
||||
// Separar el nombre de usuario y la contraseña de cada línea
|
||||
list($usuario_registrado, $contraseña_registrada, $nombre_registrado ,$acceso_registrado) = explode(":", trim($linea));
|
||||
|
||||
// Comparar los datos
|
||||
if ($usuario === $usuario_registrado && password_verify($contraseña, $contraseña_registrada)) {
|
||||
$usuario_encontrado = true;
|
||||
$nombre_usuario=$nombre_registrado;
|
||||
$acceso_usuario=$acceso_registrado;
|
||||
$correo_usuario=$usuario_registrado;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Cerrar el archivo
|
||||
fclose($conexion);
|
||||
|
||||
// Verificar si se encontró
|
||||
if ($usuario_encontrado) {
|
||||
// Si los datos son válidos, iniciar sesión y redirigir al usuario
|
||||
session_start();
|
||||
$_SESSION['usuario'] = $nombre_usuario;
|
||||
$_SESSION['correo'] = $correo_usuario;
|
||||
|
||||
if ($acceso_usuario === "cliente") {
|
||||
header('Location: perfil_cliente.php'); // Redireccionar a la página de cliente
|
||||
exit();
|
||||
}
|
||||
|
||||
if ($acceso_usuario === "hotel") {
|
||||
header('Location: buscador_reservas.php'); // Redireccionar a la página de gestión
|
||||
exit();
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
// Si los datos no son válidos, mostrar un mensaje de error
|
||||
echo '<p style="color: red">El nombre de usuario o la contraseña son incorrectos.</p>';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
9
Practicas/Practicas_PHP/ejercicios/Sesiones/logout.php
Normal file
9
Practicas/Practicas_PHP/ejercicios/Sesiones/logout.php
Normal file
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
// Conectar con la sesión
|
||||
session_start();
|
||||
// Destruimos las sesiones
|
||||
session_destroy();
|
||||
// Llevamos a login.php
|
||||
header('Location: login_usuarios.php');
|
||||
// Cortamos el script
|
||||
exit();
|
||||
@@ -0,0 +1,71 @@
|
||||
<?php
|
||||
// Comprobamos si existe la sesión
|
||||
session_start();
|
||||
if (!isset($_SESSION['usuario'])) {
|
||||
// En caso contrario devolvemos a la página login.php
|
||||
header('Location: login_usuarios.php');
|
||||
die();
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Reservas hotel</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div><!-- Saludamos -->
|
||||
<h1>Bienvenido <?php echo $_SESSION['usuario']; ?></h1>
|
||||
<!-- Botón para cerrar la sesión -->
|
||||
<a href="logout.php">Cerrar sesión</a></div>
|
||||
|
||||
|
||||
<div><h2>Estas son sus reservas:</h2>
|
||||
<?php
|
||||
//Suponiendo que el archivo caracteres.php está en la misma carpeta:
|
||||
include('caracteres.php');
|
||||
|
||||
//Abrir el archivo
|
||||
$archivo = fopen('listado_reservas.txt', 'r');
|
||||
|
||||
//Leer el archivo
|
||||
if (!$archivo) { echo("Error abriendo archivo"); }
|
||||
|
||||
// Abro la tabla
|
||||
echo '<br>';
|
||||
echo '<table border="2">';
|
||||
echo "<tr><th>Id Reserva</th><th>Nombre</th><th>Correo</th><th>Teléfono</th><th>Entrada</th><th>Salida</th><th>Fecha reserva</th><th>Duración</th></tr>";
|
||||
|
||||
//Busco la coincidencia
|
||||
$contador=0;
|
||||
while (($linea = fgets($archivo)) != false) {
|
||||
if(strpos(eliminar_tildes(strtolower($linea)), eliminar_tildes(strtolower($_SESSION['correo']))) !== false){
|
||||
|
||||
// Mostrar la tabla con array
|
||||
$arrayLinea=explode('/_/', $linea);
|
||||
//foreach ($arrayLinea as $dato) {
|
||||
// echo "<td>$dato</td>";
|
||||
//}
|
||||
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></tr>";
|
||||
$contador++;
|
||||
}
|
||||
}
|
||||
// Cierrro la tabla
|
||||
echo "</table>";
|
||||
if ($contador == 0) {
|
||||
echo "<p>Usted no tiene reservas</p>";
|
||||
}
|
||||
//cerrar el archivo
|
||||
fclose($archivo);
|
||||
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div><p><a href="formulario_hotel.php">Realize su reserva</a></p></div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,144 @@
|
||||
|
||||
<?php
|
||||
// Comprobamos si existe la sesión
|
||||
session_start();
|
||||
if (!isset($_SESSION['usuario'])) {
|
||||
// En caso contrario devolvemos a la página login.php
|
||||
header('Location: login_usuarios.php');
|
||||
die();
|
||||
}
|
||||
?>
|
||||
|
||||
<!Doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<title>Reservas hotel</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div><!-- Saludamos -->
|
||||
<h1>Usuario: <?php echo $_SESSION['usuario']; ?></h1>
|
||||
<!-- Botón para cerrar la sesión -->
|
||||
<a href="logout.php">Cerrar sesión</a></div>
|
||||
<div id="container">
|
||||
<?php
|
||||
// Verificar si se recibieron los datos del formulario
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Obtener los datos del formulario
|
||||
$entrada = $_POST["entrada"];
|
||||
$salida = $_POST["salida"];
|
||||
$habitacion = $_POST["habitacion"];
|
||||
$regimen = $_POST["regimen"];
|
||||
$spa = $_POST["spa"];
|
||||
$guia = $_POST["guia"];
|
||||
$noches = $_POST["noches"];
|
||||
$coste = $_POST["total"];
|
||||
$nombre = $_POST["nombre"];
|
||||
$email = $_POST["email"];
|
||||
$telefono = $_POST["telefono"];
|
||||
$dni = $_POST["dni"];
|
||||
$info = $_POST["info"];
|
||||
//var_dump($_POST);
|
||||
echo "<br>";
|
||||
// Identificador reserva
|
||||
$id_reserva = time()."_".rand(1000,9999);
|
||||
// Fecha de la reserva
|
||||
$fecha_reserva = date('d-m-Y H:i:s', time());
|
||||
|
||||
// Formatear los datos para escribir en el archivo
|
||||
$datosReserva = "Id reserva: " . $id_reserva . "\n" .
|
||||
"Fecha de reserva: " . $fecha_reserva . "\n" .
|
||||
"Fecha de entrada: " . $entrada . "\n" .
|
||||
"Fecha de salida: " . $salida . "\n" .
|
||||
"Tipo de habitación: " . $habitacion . "\n" .
|
||||
"Regimen de alojamiento: " . $regimen . "\n" .
|
||||
"Días Spa: " . $spa . "\n" .
|
||||
"Días Guia: " . $guia . "\n" .
|
||||
"Duración estancia: " . $noches . "\n" .
|
||||
"Coste Total: " . $coste . "\n" .
|
||||
"Nombre: " . $nombre . "\n" .
|
||||
"Correo electrónico: " . $email . "\n" .
|
||||
"Teléfono: " . $telefono . "\n" .
|
||||
"DNI: " . $dni . "\n\n";
|
||||
|
||||
|
||||
|
||||
|
||||
// Mensaje correo para el hotel
|
||||
// Correo electrónico de destino
|
||||
$destinatario = "asinxx@gmail.com";
|
||||
|
||||
// Asunto del correo electrónico
|
||||
$asunto = "Hay una nueva reserva: $id_reserva ";
|
||||
$headers = "Reply-To: " . $email . "\r\n".'Bcc: '.$email."\r\n";
|
||||
// Envía el correo electrónico
|
||||
//mail($destinatario, $asunto, $datosReserva,$headers);
|
||||
|
||||
// Ruta del archivo de reserva (dentro del directorio "reservas")
|
||||
$archivoReserva = "reservas/reserva_" . $id_reserva . ".txt";
|
||||
|
||||
// Crear la ficha de reserva
|
||||
if (file_put_contents($archivoReserva, $datosReserva) !== false) {
|
||||
|
||||
echo "<p>Reserva confirmada !</p>";
|
||||
echo "<br>";
|
||||
} else {
|
||||
echo "<p>Error al registrar la reserva!</p>";
|
||||
echo "<br>";
|
||||
}
|
||||
|
||||
// Escribir en listado de reservas
|
||||
$lista_reservas="listado_reservas.txt";
|
||||
$datos_reserva=$id_reserva."/_/".$nombre."/_/".$email."/_/".$telefono."/_/".$entrada."/_/".$salida."/_/".$fecha_reserva."/_/".$noches."\r\n";
|
||||
file_put_contents($lista_reservas, $datos_reserva,FILE_APPEND | LOCK_EX);
|
||||
|
||||
|
||||
// Mensaje cliente confirmación de opciones
|
||||
echo nl2br($info);
|
||||
echo "<br>";
|
||||
echo "<br>";
|
||||
echo "<p>Esta es la información detallada de tu reserva:</p>";
|
||||
echo nl2br($datosReserva);
|
||||
|
||||
// Recibir DNI cliente
|
||||
// Directorio donde se guardarán los archivos subidos
|
||||
$directorio_subida = "dni_clientes/";
|
||||
|
||||
// Nombre del archivo y ruta de destino
|
||||
$nombre_archivo=$_FILES["dnifile"]["name"];
|
||||
$nombre_archivo_final = $dni.'_'.$id_reserva.'_'.$nombre_archivo;
|
||||
$ruta_archivo = $directorio_subida . $nombre_archivo_final;
|
||||
|
||||
// Tamaño máximo permitido (2MB)
|
||||
$tamano_maximo = 2 * 1024 * 1024;
|
||||
|
||||
// Obtiene la extensión del archivo en minúsculas
|
||||
$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) {
|
||||
|
||||
// Intenta mover el archivo al directorio de destino
|
||||
if (move_uploaded_file($_FILES["dnifile"]["tmp_name"], $ruta_archivo)) {
|
||||
echo "Su DNI ha sido recibido.";
|
||||
} else {
|
||||
echo "Lo siento, hubo un error al subir su DNI.";
|
||||
}
|
||||
} else {
|
||||
echo "Lo siento, solo se permiten archivos en formato JPG o PDF con un tamaño máximo de 2MB.";
|
||||
}
|
||||
|
||||
} else {
|
||||
// Si no se recibieron datos por POST, mostrar un mensaje de error
|
||||
echo "Error: No se recibieron datos del formulario.";
|
||||
}
|
||||
|
||||
?>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Registro de Clientes</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
<body>
|
||||
<div><h2>Registro de Clientes</h2>
|
||||
<form action="" method="post">
|
||||
<label for="nombre">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="password">Contraseña:</label><br>
|
||||
<input type="password" id="password" name="password" required><br><br>
|
||||
<input type="submit" value="Registrar">
|
||||
</form></div>
|
||||
<?php
|
||||
// Verificar si se ha enviado el formulario
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Obtener los datos del formulario
|
||||
$nombre = $_POST["nombre"];
|
||||
$email = $_POST["email"];
|
||||
$password = $_POST["password"];
|
||||
|
||||
// Verificar si el correo electrónico ya está registrado
|
||||
$archivo = 'usuarios.txt';
|
||||
|
||||
if (file_exists($archivo)) {
|
||||
$conexion = fopen($archivo, 'r'); // Abrir el archivo en modo de lectura ('r')
|
||||
|
||||
// Recorrer el archivo línea por línea
|
||||
while (($linea = fgets($conexion)) !== false) {
|
||||
// Separar el correo electrónico y la contraseña de cada línea
|
||||
list($usuario_email, $usuario_password, $usuario_nombre ,$usuario_acceso) = explode(':', trim($linea));
|
||||
|
||||
// Comparar el correo electrónico actual con el del archivo
|
||||
if ($email === $usuario_email) {
|
||||
fclose($conexion); // Cerrar el archivo
|
||||
exit("El correo electrónico ya está registrado");
|
||||
}
|
||||
}
|
||||
|
||||
fclose($conexion); // Cerrar el archivo
|
||||
}
|
||||
|
||||
// Guardar el usuario en el archivo (fuera del bucle)
|
||||
$password_encriptada=password_hash($password, PASSWORD_DEFAULT);
|
||||
$linea = "$email:$password_encriptada:$nombre:cliente\n";
|
||||
file_put_contents($archivo, $linea, FILE_APPEND | LOCK_EX);
|
||||
|
||||
|
||||
header('Location: login_usuarios.php');
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,60 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Registro de Clientes</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
<body>
|
||||
<div><h2>Registro de Común</h2>
|
||||
<form action="" method="post">
|
||||
<label for="nombre">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="password">Contraseña:</label><br>
|
||||
<input type="password" id="password" name="password" required><br><br>
|
||||
<input type="submit" value="Registrar">
|
||||
</form></div>
|
||||
<?php
|
||||
// Verificar si se ha enviado el formulario
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Obtener los datos del formulario
|
||||
$nombre = $_POST["nombre"];
|
||||
$email = $_POST["email"];
|
||||
$password = $_POST["password"];
|
||||
$acceso=$_GET["acceso"];
|
||||
|
||||
// Verificar si el correo electrónico ya está registrado
|
||||
$archivo = 'usuarios.txt';
|
||||
|
||||
if (file_exists($archivo)) {
|
||||
$conexion = fopen($archivo, 'r'); // Abrir el archivo en modo de lectura ('r')
|
||||
|
||||
// Recorrer el archivo línea por línea
|
||||
while (($linea = fgets($conexion)) !== false) {
|
||||
// Separar el correo electrónico y la contraseña de cada línea
|
||||
list($usuario_email, $usuario_password, $usuario_nombre ,$usuario_acceso) = explode(':', trim($linea));
|
||||
|
||||
// Comparar el correo electrónico actual con el del archivo
|
||||
if ($email === $usuario_email) {
|
||||
fclose($conexion); // Cerrar el archivo
|
||||
exit("El correo electrónico ya está registrado");
|
||||
}
|
||||
}
|
||||
|
||||
fclose($conexion); // Cerrar el archivo
|
||||
}
|
||||
|
||||
// Guardar el usuario en el archivo (fuera del bucle)
|
||||
$password_encriptada=password_hash($password, PASSWORD_DEFAULT);
|
||||
$linea = "$email:$password_encriptada:$nombre:$acceso\n";
|
||||
file_put_contents($archivo, $linea, FILE_APPEND | LOCK_EX);
|
||||
|
||||
|
||||
header('Location: login_usuarios_dos.php');
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,59 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Registro de Personal Hotel</title>
|
||||
<link rel="stylesheet" type="text/css" href="estilos.css" />
|
||||
<body>
|
||||
<div><h2>Registro de Personal Hotel</h2>
|
||||
<form action="" method="post">
|
||||
<label for="nombre">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="password">Contraseña:</label><br>
|
||||
<input type="password" id="password" name="password" required><br><br>
|
||||
<input type="submit" value="Registrar">
|
||||
</form></div>
|
||||
<?php
|
||||
// Verificar si se ha enviado el formulario
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
// Obtener los datos del formulario
|
||||
$nombre = $_POST["nombre"];
|
||||
$email = $_POST["email"];
|
||||
$password = $_POST["password"];
|
||||
|
||||
// Verificar si el correo electrónico ya está registrado
|
||||
$archivo = 'usuarios.txt';
|
||||
|
||||
if (file_exists($archivo)) {
|
||||
$conexion = fopen($archivo, 'r'); // Abrir el archivo en modo de lectura ('r')
|
||||
|
||||
// Recorrer el archivo línea por línea
|
||||
while (($linea = fgets($conexion)) !== false) {
|
||||
// Separar el correo electrónico y la contraseña de cada línea
|
||||
list($usuario_email, $usuario_password, $usuario_nombre ,$usuario_acceso) = explode(':', trim($linea));
|
||||
|
||||
// Comparar el correo electrónico actual con el del archivo
|
||||
if ($email === $usuario_email) {
|
||||
fclose($conexion); // Cerrar el archivo
|
||||
exit("El correo electrónico ya está registrado");
|
||||
}
|
||||
}
|
||||
|
||||
fclose($conexion); // Cerrar el archivo
|
||||
}
|
||||
|
||||
// Guardar el usuario en el archivo (fuera del bucle)
|
||||
$password_encriptada=password_hash($password, PASSWORD_DEFAULT);
|
||||
$linea = "$email:$password_encriptada:$nombre:hotel\n";
|
||||
file_put_contents($archivo, $linea, FILE_APPEND | LOCK_EX);
|
||||
|
||||
|
||||
header('Location: login_usuarios.php');
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user