Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Tarea N°02

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 15

<!

DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cartelera de Películas</title>
<link rel="shortcut icon" href="img/logo.jpg">
<link rel="stylesheet" href="css/estilo.css">
<link rel="stylesheet" href="css/jquery.modal.min.css">
<script src="js/jquery.min.js"></script>
<script src="js/jquery.modal.min.js"></script>
<style>

</style>
</head>
<body>

<ul>
<li><h3>Películas</h3></li>
<li><h3><a href="php/login.php">Acceso</a></h3></li>
</ul>

<div class="movie-section">
<?php
// Conexión a la base de datos
include 'php/conexion.php';
$sql = "SELECT * FROM programacion WHERE visible='si'";
$res = $conexion->query($sql);

while ($fila = $res->fetch_assoc()) {


$id = $fila['idpeli'];
$sql2 = "SELECT * FROM peliculas WHERE idpeli=$id";
$res2 = $conexion->query($sql2);
while ($fila2 = $res2->fetch_assoc()) {
$nom = $fila2['nombre'];
$dur = $fila2['duracion'];
$gen = $fila2['genero'];
$ima = $fila2['imagen'];
$tra = $fila2['trailer'];
$ver = base64_encode($ima);

echo "<div class='movie-card'>";


echo "<div class='movie-image'>";
echo "<a href='javascript:void(0);' onclick=\"verPelicula('$nom', '$dur', '$gen',
'$tra');\">";
echo "<img src='data:image/jpeg;base64," . $ver . "' width='150'>";
echo "</a></div>";
echo "<div class='movie-title'>$nom</div>";
echo "</div>";
}
}
?>
</div>

<!-- Modal de detalles de la película -->


<div id="frm-win" class="modal" style="display: none;">
<h2>Detalles de la Película</h2>
<p id="titulo">Título: </p>
<p id="duracion">Duración: </p>
<p id="genero">Género: </p>
<iframe id="trailer" width="360" height="215" src="" frameborder="0"
allowfullscreen></iframe>
<button onclick="$.modal.close()">Cerrar</button>
</div>

<script>
// Función para abrir el modal y cargar los detalles de la película
function verPelicula(nombre, duracion, genero, trailer) {
document.getElementById("titulo").innerText = "Título: " + nombre;
document.getElementById("duracion").innerText = "Duración: " + duracion + "
minutos";
document.getElementById("genero").innerText = "Género: " + genero;
document.getElementById("trailer").src = trailer;
$('#frm-win').modal();
}
</script>

</body>
</html>
<?php
session_start();
if (isset($_GET['logout'])) {
session_unset();
session_destroy();
header('location: ./index.php');
die();
}
if (isset($_SESSION['id'])) {
header('location: ./php/cine.php');
die();
}
?>

<!DOCTYPE html>
<html lang="es">

<head>
<link rel="shortcut icon" href="../img/logon.png">
<link rel="stylesheet" href="../css/form.css">
<meta charset="UTF-8">
<title>Cinema Ayacucho</title>
<style>
body {
background-image: url('../img/fondo.jpg');
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
font-family: Arial, sans-serif;
}

/* Login box styling */


.login-box {
background-color: #333;
color: #fff;
width: 350px;
padding: 40px;
border-radius: 10px;
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
text-align: center;
}

/* Logo styling */
.login-box img {
width: 70px;
height: 70px;
border-radius: 50%;
margin-bottom: 20px;
}

/* Title styling */
.login-box h3 {
font-size: 24px;
margin: 0 0 20px;
font-weight: 600;
}

/* Label styling */
.login-box label {
font-size: 14px;
display: block;
text-align: left;
margin-bottom: 5px;
}

/* Input fields styling */


.login-box input[type="text"],
.login-box input[type="password"] {
width: 100%;
padding: 10px;
margin: 8px 0 20px;
border: none;
border-radius: 5px;
background: #444;
color: #fff;
font-size: 16px;
}

/* Input placeholder text color */


.login-box input::placeholder {
color: #aaa;
}

/* Button styling */
.login-box input[type="submit"] {
background-color: #b30000;
color: white;
border: none;
padding: 10px 20px;
width: 100%;
font-size: 16px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s;
}

.login-box input[type="submit"]:hover {
background-color: #e60000;
}

/* Error message styling */


.login-box p {
color: #ff4d4d;
font-size: 14px;
}
</style>
</head>

<body background="../../img/fondos.jfif">
<div class="login-box">
<img src="../img/logon.png" width="150" heigth="50">
<h3 align="center">Cinema Ayacucho</h3>
<form name="frm_acc" method="post" action="cine.php">
<label>Usuario</label>
<input type="text" name="username" placeholder="Ingrese Usuario"><br>
<label>Contraseña</label>
<input type="password" name="password" placeholder="Ingrese Contraseña"><br>

<?php
if (
isset($_POST['username']) &&
isset($_POST['password'])
){
$username = $_POST['username'];
$password = $_POST['password'];
include_once 'assets/php/database.php';
$db = new Database();
$connection = $db->connect();
if ($connection == false) {
echo 'No se pudo conectar a la base de datos';
} else {
$query = $connection->prepare('SELECT * FROM `trabajador` WHERE username
= ? AND password = ?');
$query->execute([$username, $password]);
$row = $query->fetch(PDO::FETCH_ASSOC);
if ($row) {
if ($row['tipotrab'] == 0) {
echo 'Este usuario está inactivo';
} else {
$_SESSION['idtrab'] = $row['idtrab'];
$_SESSION['username'] = $row['username'];
$_SESSION['password'] = $row['password'];
$_SESSION['nombre'] = $row['nombre'];
$_SESSION['tipotrab'] = $row['tipotrab'];
header('location: php/principal.php');
die();
}
} else {
echo 'Credenciales incorrectas';
}
}
}
?>
<input type="submit" name="acceso" value="Acceder"><br>
</form>
</fieldset>
</body>

</html>
<?php
//session_start();
include_once 'database.php';
include_once 'sweetalert.php';
$db = new Database();
$connection = $db->connect();
$id = uniqid();
?>

<!DOCTYPE html>
<html lang="es">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cartelera de Películas</title>

<!-- Estilos CSS -->


<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
margin: 0;
padding: 20px;
text-align: center;
}

h1 {
color: #35424a;
}

.btn-modal {
background-color: #007bff;
color: white;
padding: 10px 20px;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.btn-modal:hover {
background-color: #0056b3;
}
.frm-modal {
background-color: white;
border-radius: 8px;
padding: 30px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 400px;
margin: 100px auto;
text-align: left;
position: relative;
}

.frm-modal h2 {
margin-bottom: 20px;
text-align: center;
color: #333;
}

.frm-modal label {
display: block;
margin-bottom: 5px;
color: #666;
}

.frm-modal input[type="text"], .frm-modal input[type="number"] {


width: 100%;
padding: 10px;
margin-bottom: 15px;
border-radius: 5px;
border: 1px solid #ccc;
}

.frm-modal button {
width: 100%;
padding: 10px;
background-color: #28a745;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}

.frm-modal button:hover {
background-color: #218838;
}

.close-modal {
position: absolute;
top: 10px;
right: 10px;
font-size: 20px;
cursor: pointer;
color: #999;
}

.table-container {
margin-top: 20px;
}

table {
width: 100%;
border-collapse: collapse;
margin: 0 auto;
text-align: left;
}

table th, table td {


padding: 12px 15px;
border: 1px solid #ddd;
}

table th {
background-color: #007bff;
color: white;
}

table tbody tr:nth-child(even) {


background-color: #f4f4f4;
}

table img {
width: 100px;
height: auto;
border-radius: 5px;
}

/* Modal visibility */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
}

.modal.show {
display: flex;
}
</style>
</head>

<body>
<h1>Lista de Películas</h1>

<button class="btn-modal" id="btn-products">Registrar nueva película</button>

<!-- Modal para agregar producto -->


<div class="modal" id="frm-products">
<div class="frm-modal">
<span class="close-modal" id="close-modal">&times;</span>
<h2>Agregar una nueva película</h2>

<form action="cine.php" method="post" enctype="multipart/form-data">


<input type="hidden" name="type" value="insert">

<label for="nombre">Nombre de la película</label>


<input type="text" name="nombre" id="nombre" placeholder="Nombre de la
película" required>

<label for="duracion">Duración (minutos)</label>


<input type="number" name="duracion" id="duracion" placeholder="Duración en
minutos" required>

<label for="genero">Género</label>
<input type="text" name="genero" id="genero" placeholder="Género de la película"
required>

<label for="clasificacion">Clasificación</label>
<input type="text" name="clasificacion" id="clasificacion" placeholder="Clasificación
de la película" required>

<label for="pais">País</label>
<input type="text" name="pais" id="pais" placeholder="País de origen" required>

<label for="trailer">Enlace al tráiler</label>


<input type="url" id="trailer" name="trailer" placeholder="URL del tráiler" required>

<label for="imagen">Imagen de la película</label>


<input type="file" id="imagen" name="imagen" accept="image/*" required>

<button type="submit">Registrar película</button>


</form>
</div>
</div>

<!-- Tabla de Películas -->


<div class="table-container">
<table>
<thead>
<tr>
<th>N°</th>
<th>Imagen</th>
<th>Nombre de la película</th>
<th>Duración</th>
<th>Género</th>
<th>Clasificación</th>
<th>País</th>
<th>Tráiler</th>
</tr>
</thead>
<tbody>
<!-- Aquí se llenarán las filas de la tabla mediante PHP -->
<?php
// Realizamos la consulta a la base de datos
$query = $connection->query('SELECT * FROM peliculas');
$rows = $query->fetchAll(PDO::FETCH_ASSOC);

// Comprobamos si se han encontrado filas


if ($rows) {
foreach ($rows as $row) {
$id = $row['idpeli'];
$ima = $row['imagen']; // Datos de la imagen como BLOB
$nom = $row['nombre']; // Nombre de la película
$dur = $row['duracion'];
$gen = $row['genero'];
$clas = $row['clasific'];
$pais = $row['pais'];
$trailer = $row['trailer'];

echo "<tr>";
echo "<td align='center'>" . htmlspecialchars($id) . "</td>";
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['imagen'])) {
$nombre = $_POST['nombre'];
$duracion = $_POST['duracion'];
$genero = $_POST['genero'];
$clasificacion = $_POST['clasificacion'];
$pais = $_POST['pais'];
$trailer = $_POST['trailer'];

// Procesar imagen
$imagen = file_get_contents($_FILES['imagen']['tmp_name']); // Obtén el
contenido del archivo
$imagen = base64_encode($imagen); // Codifica la imagen en base64 (o
guárdala como BLOB en la BD)

// Inserción a la base de datos


$sql = "INSERT INTO peliculas (nombre, duracion, genero, clasific, pais, trailer,
imagen) VALUES (:nombre, :duracion, :genero, :clasific, :pais, :trailer, :imagen)";
$stmt = $connection->prepare($sql);
$stmt->bindParam(':nombre', $nombre);
$stmt->bindParam(':duracion', $duracion);
$stmt->bindParam(':genero', $genero);
$stmt->bindParam(':clasific', $clasificacion);
$stmt->bindParam(':pais', $pais);
$stmt->bindParam(':trailer', $trailer);
$stmt->bindParam(':imagen', $imagen, PDO::PARAM_LOB); // Si guardas como
BLOB

if ($stmt->execute()) {
echo "Película registrada correctamente.";
} else {
echo "Error al registrar la película.";
}
}
// Mostrar la imagen solo si la ruta es válida
if (!empty($ima)) {
// Convertir el BLOB a base64
$ima_base64 = base64_encode($ima);
echo "<td align='center'><img src='data:image/jpeg;base64," .
htmlspecialchars($ima_base64) . "' alt='" . htmlspecialchars($nom) . "'></td>";
} else {
echo "<td align='center'>No hay imagen</td>";
}

echo "<td align='center'>" . htmlspecialchars($nom) . "</td>";


echo "<td align='center'>" . htmlspecialchars($dur) . " min</td>";
echo "<td align='center'>" . htmlspecialchars($gen) . "</td>";
echo "<td align='center'>" . htmlspecialchars($clas) . "</td>";
echo "<td align='center'>" . htmlspecialchars($pais) . "</td>";
echo "<td align='center'><a href='" . htmlspecialchars($trailer) . "'
target='_blank'>Ver Tráiler</a></td>";
echo "</tr>";
}
} else {
echo "<tr><td colspan='8' align='center'>No se encontraron registros</td></tr>";
}
?>
</tbody>
</table>
</div>

<!-- Scripts -->


<script src="../js/jquery.min.js"></script>
<script>
// Mostrar modal
document.getElementById('btn-products').addEventListener('click', function() {
document.getElementById('frm-products').classList.add('show');
});

// Cerrar modal
document.getElementById('close-modal').addEventListener('click', function() {
document.getElementById('frm-products').classList.remove('show');
});

// Ocultar modal al hacer clic fuera del modal


window.onclick = function(event) {
if (event.target == document.getElementById('frm-products')) {
document.getElementById('frm-products').classList.remove('show');
}
};
</script>
</body>

</html>

También podría gustarte