Está en la página 1de 17

INTRODUCCIN

Tu reserva se trata de un proyecto que tiene como objetivo ajustarse a las


necesidades de todos los actores implicados en el proyecto.
La versin del software que se indica a continuacin es el conjunto de scripts php,
JavaScript que se encargan de permitir la comunicacin entre el auditorio de la
UNACH con los usuarios y facilitar as la obtencin de reservaciones.
VERSIONES
Versin 1.3
Configuracin general
Creacin de bloques (Normales y areos).
Creacin de butacas
Creacin de eventos
Reservacin (usuarios externos)
Reservacin especiales (administrador)
Envo cdigo QR a email
Verificacin de reserva
Reportes
Este manual adems, pretende exponer la parte tcnica de los scripts php que se
integra enumerando a modo de ndice los puntos que se explican en este manual:
1.
2.
3.
4.
5.
6.

Introduccin
PHP
Equipos de desarrollo y prueba
Descripcin de Interface Tu reserva
Funcionamiento Interno
Arquitectura

Manual Tcnico Tu Reserva

PHP
Versiones
Ver

Lanza

si

mient

1.0

2.0

Fin
sop
ort

Notas

08-06-

Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la

1995

primera versin en usar el nombre "PHP"

01-11-

Considerada por sus creadores la "herramienta ms rpida y sencilla"

1997

para crear pginas web dinmicas

203.0

06-06- 101998

200

Zeev Suraski y Andi Gutmans reescribieron la base para esta versin.

234.0

22-05- 012000

200

Se aadi un sistema de parsing de dos fases llamado motor Zend.

124.1

10-12- 032001

200

Se introducen 'superglobales' ( $_GET , $_POST , $_SESSION , etc.)

064.2

22-04- 092002

200
2

Se deshabilitan register_globals por defecto. Datos recibidos por la


red no son insertados en el
espacio de nombres global, cerrando posibles agujeros de seguridad
en las aplicaciones.

Manual Tcnico Tu Reserva

314.3

27-12- 032002

200

Se introduce CLI, y CGI.

074.4

11-07-

08-

2005

200

Se aaden pginas man para phpize y php-config .

055.0

13-07- 092004

200

Motor Zend II con un nuevo modelo de objetos.

245.1

24-11-

08-

Mejoras de rendimiento con la introduccin de variables de

2005

200 compilador para el nuevo motor de PHP.


6

065.2

02-11-

01-

2006

201

Activida extensin de filtro por defecto. Soporte JSON nativo.

Soporte para espacios de nombres, enlace esttico en tiempo de


ejecucin,

5.3

etiqueta

de

salto

(goto limitada), Clausuras nativas,

14-

Soporte nativo para archivos PHP (phar), recoleccin de basura para

30-06- 08-

referencias circulares, soporte mejorado para Windows, sqlite3,

2009

201 mysqlnd
17

como

reemplazo

libmysql

como

biblioteca

para

extensiones que funcionan con MySQL, fileinfo como reemplzado de


mime_magic

para

mejor

soporte MIME,

extensin

de

Internacionalizacin, y etiqueta ereg obsoleta.

Manual Tcnico Tu Reserva

155.4

01-03- 092012

201
5

Soporte para Trait y sintaxis abreviada de array. Elementos


removidos: register_globals , safe_mode , allow_call_time_pass_refer
ence , session_register() , session_unregister() y session_is_register
ed() . Servidor web incorporado.18 Varias mejoras a caractersticas
existentes y al rendimiento, y requerimientos de memoria menores.

205.5

20-06- 062013

Nuevos generadores para bucles, empty() soporta expresiones. Se

201 pierde el soporte para Windows XP y Windows Server 2003.


6

285.6

20-08- 082014

Constantes con expresiones escalares, listas de argumentos de

201 longitud variable y exponencial mediante el operador **.


7

El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores


decidieron que el enfoque actual para tratar cadenas Unicode no es
correcto, y estn considerando formas alternas para la siguiente
versin. Las mejoras planeadas para PHP 6 fueron aadidas en su
lugar en PHP 5.3.0 (Soporte para espacios de nombre, enlace

6.x

esttico en tiempo de ejecucin, funciones lambda, clausuras, goto) y


5.4.0 (traits, revinculacin de clausura).
Se ha abandonado la versin 6 de PHP siendo la siguiente versin la
7.
037.0

03-11-

11-

2015

201

Mejoras de rendimiento, declaracin de tipos de retorno en funciones

Manual Tcnico Tu Reserva

Caractersticas

Orientado al desarrollo de aplicaciones web dinmicas con acceso a


informacin almacenada en una base de datos.

Es considerado un lenguaje fcil de aprender, ya que en su desarrollo se


simplificaron distintas especificaciones, como es el caso de la definicin de las
variables primitivas, ejemplo que se hace evidente en el uso de php arrays.

El cdigo fuente escrito en PHP es invisible al navegador web y al cliente, ya


que es el servidor el que se encarga de ejecutar el cdigo y enviar su resultado
HTML al navegador.

Capacidad de conexin con la mayora de los motores de base de datos que


se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

Capacidad de expandir su potencial utilizando mdulos (llamados ext's o


extensiones).

Posee una amplia documentacin en su sitio web oficial, entre la cual se


destaca que todas las funciones del sistema estn explicadas y ejemplificadas en
un nico archivo de ayuda.

Es libre, por lo que se presenta como una alternativa de fcil acceso para
todos.

Permite aplicar tcnicas de programacin orientada a objetos.


No requiere definicin de tipos de variables aunque sus variables se pueden
evaluar tambin por el tipo que estn manejando en tiempo de ejecucin.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a
la hora de programar, aun hacindolo, el programador puede aplicar en su
trabajo cualquier tcnica de programacin o de desarrollo que le permita escribir
cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los
desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista
Controlador (MVC), que permiten separar el tratamiento y acceso a los datos,
la lgica de control y la interfaz de usuario en tres componentes independientes.

Manual Tcnico Tu Reserva

Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para
las aplicaciones WEB de manejo de contenido, y es su uso principal.

EQUIPOS DE DESARROLLO Y PRUEBA


Para el desarrollo de los diferentes mdulos de la Interface Tu Reserva, se ha
utilizado Adobe Dreamweaver CS6, corriendo sobre un equipo con Microsoft
Windows 8 Enterprise en castellano y Google Chrome 48.0.25.
Para las pruebas de simulacin real se utiliz un equipo con sistema operativo
Microsoft Windows 8 Enterprise, Microsoft Windows XP Service Pack 3 y Microsoft
Internet Explorer 7, Google Chrome 48.0.25, Mozilla Firefox.

DESCRIPCIN DE LA INTERFACE TU RESERVA


La interface se encarga de mostrar de forma amigable los diferentes mdulos,
navegar entre ellos y utilizarlos de forma cmoda y rpida.
Est compuesto por un men tanto para usuario administrador como usuario
estndar.
Administrador.

Bloques
Butacas
Eventos
Reserva Especial
Cuenta
Configuracin

Estndar

Eventos
Reservaciones
o Visualizacin de reservas
Cuenta

Manual Tcnico Tu Reserva

FUNCIONAMIENTO INTERNO
El proceso completo de funcionamiento de la Interface Tu Reserva consta de varias
etapas:
Usuario Administrador

Configuracin general
Creacin de bloques
Creacin de butacas
Creacin de eventos

Usuario Estndar

Registrarse
Validar direccin email (opcional)
Seleccionar evento
Seleccionar butacas disponibles
Revisar email (Informacin de reservacin)
Presentar cdigo QR
Validacin de reserva

Manual Tcnico Tu Reserva

Manual Tcnico Tu Reserva

ARQUITECTURA
En una arquitectura cliente/servidor clsica tenemos dos "capas":

Una donde est el cliente que implementa la interface.


Otra donde se encuentra el gestor de bases de datos que trata las
peticiones recibidas desde el cliente.

La lgica de la aplicacin se encuentra por tanto repartida entre el cliente y servidor.


Un ejemplo de esta configuracin podra ser un applet Java que se carga en el
navegador del cliente y trabaja directamente con la base de datos mediante JDBC.

Manual Tcnico Tu Reserva

Ventajas de este modelo:

Se mantiene una conexin persistente con la base de datos.


Se minimizan las peticiones en el servidor trasladndose la mayor parte del
trabajo al cliente.
Se gana en rendimiento gracias a la conexin directa y permanente con la
base de datos. A travs de una nica conexin se realiza el envo y recepcin
de varios datos.

Mdulo Configuracin

Validacin de email.- Indica si se realizar una comprobacin de email para


dar de alta a un usuario nuevo.
Usuario Hosting.- Nombre de usuario del hosting de la cuenta de email
Contrasea Hosting.- Contrasea de usuario del hosting de la cuenta de
email
Email Hosting.- Cuenta de email asignada al hosting para envios.
Servidor SMTP.- Nombre del servidor SMTP para envios de email
Puerto SMTP.- Nmero de puerto del servidor SMTP para envios.
FaceBook.- Link a la red social FaceBook.
Twitter.- Link a la red social Twitter.
YouTube.- Link a la red social YouTube.
Misin.- Texto que describe la misin
Visin.- Texto que describe la visin.
Reglamento.- Link a reglamento.

Mdulo Bloques.- Permite la creacin, modificacin y eliminacin (siempre y


cuando no existan butacas asignadas) de bloques, est compuesto por los
siguientes campos.
CAMPO

DESCRIPCIN

Manual Tcnico Tu Reserva

10

Detalle
Columna
Posicin
Fila
Posicin
Areo
Cantidad
de
columna
s
Cantidad
de filas

Nombre del bloque


Representa un nmero de ubicacin del bloque dentro del
espacio con respecto a columna.
Representa un nmero de ubicacin del bloque dentro del
espacio con respecto a fila.
Indica si el bloque es areo o no
Representa un nmero que indica la cantidad de columnas
que contiene el bloque.

Representa un nmero que indica la cantidad de filas que


contiene el bloque.

Mdulo Butacas.- Permite la creacin y modificacin de butacas, est compuesto


por los siguientes campos y depende de la seleccin de un bloque.
CAMPO
Detalle
Visible

DESCRIPCIN
Nombre de la butaca
Indica si la butaca ser visible o no en el mapa de bloques y
butacas.
Mdulo Eventos.- Permite la creacin y modificacin de eventos, est compuesto
por los siguientes campos.
CAMPO
Nombre
Fecha
Hora
Duracin
Estado

Descripci
n
Imagen
para slider
Imagen
para
detalle
Video

DESCRIPCIN
Nombre del evento a crear o modificar
Fecha de realizacin del evento
Hora de realizacin del evento
Indica la duracin del evento en minutos
Representa el estado del evento:
Creado no publicado: Cuando el evento se cre pero no
es visible por los usuarios
Creado publicado: Cuando el evento se cre y es visible
por los usuarios
Pasado publicado: Cuando el evento se cre y fue visible
por los usuarios pero ya se efectu.
Pasado no publicado: Cuando el evento se cre, no fue
visible por los usuarios y ya se efectu.
Descripcin del evento
Carga una imagen para mostrar en la pgina principal.
Carga una imagen para mostrar cuando se visualice toda la
informacin del evento
Url de video YouTube con relacin al evento

Manual Tcnico Tu Reserva

11

Reservas
por usuario
Avisos
generales

Cantidad de reservaciones que puede realizar un usuario


para el evento
Mensajes que se enviarn por email.

Mdulo de reserva especial.- Permite crear una reservacin especial para un


evento, para este efecto deber seleccionar un evento, ingresar el nombre de la
persona para quien se reserva y luego escoger el lugar libre en el mapa de bloques
y butacas.

Mdulo Cuenta.- Permite actualizar la contrasea del usuario.


Como se mencion anteriormente, todo el sistema est creado por scripts php, a
continuacin se describen los ms importantes.

Archivo: blocks.php
Este archivo muestra el mdulo butacas.
Lenguaje de programacin:
Html, Php, JavaScript
Pginas enlazadas
Seo.php, menu.php, menun.php, conexion.php

Fragmento de cdigo:
<?php
if (mysql_num_rows($rstcat)!=0)
{

while

$rowcat2=

mysql_fetch_array($rstcat))
{?> <tr>
<td><?php

echo

$rowcat2['bloqcodigo'];?></td>
<td><?php echo
$rowcat2['bloqdetalle'];?></td>
<td><?php if
($rowcat2['bloqaereo']==1)echo 'Si';else echo 'No';?></td>
<td><?php

echo

$rowcat2['bloqcolumna'];?></td>

Manual Tcnico Tu Reserva

12

<td><?php

echo

$rowcat2['bloqfila'];?

></td>
<td><?php echo
$rowcat2['bloqncolumna'];?></td>
<td><?php echo $rowcat2['bloqnfila'];?
></td>
<td style="width:10px;">
<form

id="modificar"

action="bloks.php"

method="post">
<input type="hidden" name="codigo"
value="<?php echo $rowcat2['bloqcodigo'];?>">
<ul class="list-services">
<a class="tooltips n-1" title="Editar">
<input type="submit" value=""
style="width:30px; background:url(images/editar.png); background-size:cover;
border:hidden;"></a></ul>
</form>
</td>
<td style="width:10px;">
<form id="eliminar" action="elibloks.php"
method="post">
<input type="hidden" name="codigo" value="<?
php echo $rowcat2['bloqcodigo'];?>">
<ul class="list-services">
<a class="tooltips n-1" title="Eliminar">
<input type="submit" value=""
style="width:30px;
background:url(images/eliminar.png);
backgroundsize:cover; border:hidden;"></a></ul>
</form>
</td>
<td style="width:10px;">
<form id="eliminar" action="crebut.php"
method="post">
<input type="hidden" name="codigo" value="<?
php echo $rowcat2['bloqcodigo'];?>">

Manual Tcnico Tu Reserva

13

<input type="hidden" name="ncol" value="<?


php echo $rowcat2['bloqncolumna'];?>">
<input type="hidden" name="nfil" value="<?
php echo $rowcat2['bloqnfila'];?>">
<ul class="list-services">
<a class="tooltips n-1" title="Crea Butacas">
<input type="submit" value=""
style="width:30px;
background:url(images/butaca.png);
backgroundsize:cover; border:hidden;"></a></ul>
</form>
</td>
</tr>
<?php

}}?>

</table></div><!--Fin Listado - Blokes-->


</div>
</div>
<div class="block"></div>
</section>
</div>
<!-- Mensajes-->

<div class="ventana-flotante1" id='ventana-flotante1'


style="position:relative;visibility:<?php if ($_SESSION['mmsg']=="true"){echo
"visibility";$_SESSION['mmsg']="";}
else{echo
"hidden";}
?>;"><a
class='cerrar'
href='javascript:void(0);'
onclick='document.getElementById(&apos;ventanaflotante1&apos;).className = &apos;oculto&apos;'>x</a>
<div id='contenedor'>
<div class='contenido'>
<?php echo "".$_SESSION['msg']?>

Manual Tcnico Tu Reserva

14

Archivo: butacas.php
Este archivo muestra el mdulo butacas.
Lenguaje de programacin:
Html, Php, JavaScript
Pginas enlazadas
Seo.php, menu.php, menun.php, conexion.php
Fragmento de cdigo:
<?php header("Content-Type: text/html;charset=utf-8");
if (!isset($_SESSION)) {
session_start();
}
if(($_SESSION["tipusu"])!="1"){
header("location:index.php");
}
include ("conexion/conexion.php");//Incluye archivo de conbexion a base de
datos
$link=Conectar();// conecta a base de datos
//Modificacin consulta de bloques
$consulta="SELECT * from bloques"; //Almacena string de consulta silmple
$aereo=$_POST['aereo'];// Almacena valor de variable pasada por formulario
con metodo POST(seguridad)
if($_POST['texto']!="")//Pregunta si la variable no esta vacia
{
$texto=$_POST['texto'];//Almacena el valor de la variable post en otra
if($aereo!="2")//Pregunta si la variable es diferente de 2, (Valores del
campo de seleccin en el formulario de bsqueda de bloques:0=No es
areo,1=Si es areo,2=Todos)
{
$consulta=$consulta." where ".$_POST['filtro']." LIKE '%$texto%'
and bloqaereo='$aereo'";//Modifica la consulta simple agregando criterios de
filtrado incluido areo
}
else { $consulta=$consulta." where ".$_POST['filtro']." LIKE '%$texto
%'";}//Modifica la consulta simple agregando criterios de filtrado
}
else
{
if($aereo!="2" && $aereo!="") { $consulta=$consulta." where
bloqaereo='$aereo'";}//Modifica la consulta solo agregando el criterio de
filtrado si es o n areo
}

<!DOCTYPE html>
<html lang="en">
<head>
<?php include ("seo.php");?>

Manual Tcnico Tu Reserva

15

<script>
$(function () {
$("#slider").responsiveSlides({
auto: true,
pager: false,
nav: true,
speed: 500,
maxwidth: 960,
namespace: "centered-btns"
});
});
function encerar()
{
for(i = 0; i < document.form1.elements.length; i++)
{
if (document.form1.elements[i].type=="text"
document.form1.elements[i].type=="number")
{
document.form1.elements[i].value="";
document.form1.elements[i].enable=false;

||

}
}
}
</script>
<!-==============================header=============================
====-->
<header>
<div class="main">
<div class="bg-1">
<h1><a
href="index.php">Teatro
UNACH</a></h1>
</div>
<nav>
<div class="menu-bg-tail">
<div class="menu-bg">
<div class="zerogrid">
<div class="col-full">
<ul
class="menu">
<?php
include ("menun.php");?>
</ul>
<div
class="menu-response"><div>MENU</div>

Manual Tcnico Tu Reserva

16

<?php
include ("menum.php");?>
</div>
<div
class="clear"></div>
</div>
<div
class="clear"></div>
</div>
</div>
</div>
</nav>
</div>
</header>
<!-==============================content============================
====-->

Contenido
INTRODUCCIN...................................................................................................... 1
VERSIONES............................................................................................................. 1
Versin 1.3............................................................................................................ 1
PHP......................................................................................................................... 2
Versiones.............................................................................................................. 2
Caractersticas....................................................................................................... 5
EQUIPOS DE DESARROLLO Y PRUEBA.....................................................................6
DESCRIPCIN DE LA INTERFACE TU RESERVA........................................................6
FUNCIONAMIENTO INTERNO................................................................................... 6
ARQUITECTURA...................................................................................................... 8

Manual Tcnico Tu Reserva

17

También podría gustarte