No se han recibido datos del formulario"; } // Función para recopilar datos del formulario y sanitizarlos function recopilarDatosReserva($formulario, $campos) { $datos = []; foreach ($campos as $campo) { if (isset($_POST[$campo])) { $datos[$campo] = $formulario[$campo]; } else { $datos[$campo] = ""; } } return $datos; } // Función para procesar la reserva function procesarReserva($datosReserva) { // Variables para el resultado del procesamiento $exito = true; $msgExito = []; $msgError = []; $dias = $datosReserva['dias']; $fecha_inicio = $datosReserva['fecha_inicio']; $tipo = $datosReserva['tipo']; $silla = $datosReserva['silla'] ? "Seleccionado" : "No seleccionado"; $gps = $datosReserva['gps'] ? "Seleccionado" : "No seleccionado"; $riesgo = $datosReserva['riesgo'] ? "Seleccionado" : "No seleccionado"; $menor = $datosReserva['menor'] ? "Seleccionado" : "No seleccionado"; $total = $datosReserva['total']; $nombre = $datosReserva['nombre']; $email = $datosReserva['email']; $telefono = $datosReserva['telefono']; $dni = $datosReserva['dni']; $info = $datosReserva['info']; $entrega = $datosReserva['entrega']; $recargo = $datosReserva['recargo']; // Generar identificador de reserva $idReserva = time() . '_' . mt_rand(1000, 9999); // Fecha de reserva $fechaReserva = date("d-m-Y H:i:s"); $fichaReserva = "Id alquiler: $idReserva \r\n"; $fichaReserva .= "Fecha de alquiler: $fechaReserva \r\n"; $fichaReserva .= "Fecha de inicio: $fecha_inicio \r\n"; $fichaReserva .= "Tipo de coche: $tipo \r\n"; $fichaReserva .= "Gps: $gps \r\n"; $fichaReserva .= "Silla: $silla \r\n"; $fichaReserva .= "Todo riesgo: $riesgo \r\n"; $fichaReserva .= "Menor de 30: $menor \r\n"; $fichaReserva .= "Duración del alquiler: $dias \r\n"; $fichaReserva .= "Coste Total: $total \r\n"; $fichaReserva .= "Nombre: $nombre \r\n"; $fichaReserva .= "Correo electrónico: $email \r\n"; $fichaReserva .= "Teléfono: $telefono \r\n"; $fichaReserva .= "DNI: $dni \r\n"; // Enviar correo electrónico con los detalles de la reserva $destinatario = "appasin04@gmail.com"; $asunto = "Informacion de reserva - $idReserva"; $headers = 'Reply-To: appasin04@gmail.com' . "\r\n"; $headers .= 'Bcc: ' . $email . "\r\n"; if (!mail($destinatario, $asunto, $fichaReserva, $headers)) { $exito = false; $msgError[] = "Error al enviar el correo electrónico."; } // Guardar la ficha de reserva en un archivo $dir_reservas = "alquileres/"; !is_dir($dir_reservas) ? !mkdir($dir_reservas, 0777, true) : null; $nombre_archivo = $dir_reservas . "alquiler_" . $idReserva . ".txt"; if (file_put_contents($nombre_archivo, $fichaReserva) === false) { $exito = false; $msgError[] = "Error al guardar la ficha de reserva."; } else { $msgExito[] = "

Reserva de alquiler confirmada!!!!

" . "

". nl2br($info) . "

" . "

Esta es la informacion detallada de tu reserva !

" . "

" . nl2br($fichaReserva) . "

"; } // Añadir al listado_reservas.txt una línea de reserva $registroReserva = implode('/_/', [$idReserva, $nombre, $email, $telefono, $fecha_inicio, $fechaReserva, $dias, $tipo]) . "\r\n"; $nombre_archivo = "listado_reservas.txt"; if (file_put_contents($nombre_archivo, $registroReserva, FILE_APPEND | LOCK_EX) === false) { $exito = false; $msgError[] = "Error al guardar la lista de reservas."; } if (isset($_FILES['dni_archivo']) && $_FILES['dni_archivo']['error'] === UPLOAD_ERR_OK) { $exitoUpload = true; $dir_uploads = "dni_clientes/"; !is_dir($dir_uploads) ? !mkdir($dir_uploads, 0777, true) : null; $nombreArchivo = implode("_", [$dni, $idReserva, $_FILES['dni_archivo']['name']]); $extension_archivo = strtolower(pathinfo($_FILES["dni_archivo"]["name"], PATHINFO_EXTENSION)); $tamano_maximo = 1 * 1024 * 1024; $extensiones_permitidas = array("jpg", "jpeg", "pdf"); if (!in_array($extension_archivo, $extensiones_permitidas)) { $exitoUpload = false; $exito = false; $msgError[] = "El fichero no tiene una extension valida."; } if ($_FILES["dni_archivo"]["size"] > $tamano_maximo) { $exitoUpload = false; $exito = false; $msgError[] = "El fichero excede el tamaño maximo (1Mb)."; } if ($exitoUpload) { if (move_uploaded_file($_FILES["dni_archivo"]["tmp_name"], $dir_uploads . $nombreArchivo)) { $msgExito[] = "

El fichero adjunto se almaceno correctamente

"; } else { $exito = false; $msgError[] = "Ocurrio un error al almacenar el fichero adjunto"; } } } $resultado = [ 'exito' => $exito, 'msgExito' => $msgExito, 'msgError' => $msgError ]; return $resultado; } function mostrarResultado($resultado) { echo "
"; foreach ($resultado['msgExito'] as $key => $value) { echo "

$value

"; } if (!$resultado['exito']) { echo "

Se han encontrado los siguientes problemas al procesar su solicitud:

"; echo ""; } echo "
"; } ?>