Apuntes IAW

September 18, 2017 | Author: Ramón Lozano Rodas | Category: Web Server, Web Application, World Wide Web, Technology, Php
Share Embed Donate


Short Description

Download Apuntes IAW...

Description

U.T.1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB    1. SERVIDORES WEB    Cuando  un  usuario  se  conecta  a  Internet  y  solicita  una  página  web  a  través  de  su  barra  de  direcciones, lo que hace es establecer contacto con el ordenador que tiene almacenada esa página  web.  En  este  ordenador  está  funcionando  un  programa  que  se  conoce,  genéricamente,  como  servidor web. Este programa busca la página solicitada en el disco duro del servidor y se la envía al  cliente. Por analogía, el cliente es un ordenador (aquel desde el que nos conectamos a Internet) y  un  programa  cliente  (el  navegador  con  el  que  nos  conectamos  y  donde  se  muestra  la  página  solicitada).  Cuando  desde  un  navegador  solicitamos  una  página  web,  el  ordenador  no  se  conecta  directamente al servidor de dicha página. Se conecta a uno de los servidores DNS establecidos. El  servidor  DNS  contiene  un  directorio  con  todas  las  páginas  web  del  mundo  y  las  IPs  de  los  correspondientes servidores. Así pues, el DNS busca en la lista la página solicitada y el número de  IP correspondiente. Esto es lo que se llama resolver el nombre.    SITIOS DINÁMICOS    Cuando tenemos una página escrita que utiliza únicamente las tecnologías del lado cliente (HTML  y JavaScript) se dice que es estática. Esto significa que sus contenidos son siempre los mismos. Si  queremos que cambien, debemos hacerlo nosotros, editando la página, para que los usuarios vean  los  nuevos  contenidos.  A  menudo esto  es  imposible,  debido  a  que  hay  muchas  ocasiones  en  las  que los contenidos deben ser dependientes de una solicitud por parte del usuario.  Las  páginas  dinámicas  emplean  lo  que  se  conoce  como  programación  en  el  lado  del  servidor.  Desde  el  punto  de  vista  técnico,  la  principal  diferencia  es  que  una  página  estática,  cuando  es  llamada por un cliente, baja al navegador tal como está, y se muestra como es. Cuando el cliente  llama a una página dinámica, existe un proceso en el lado del servidor que crea en ese momento la  página, incorporando los contenidos que el cliente ha solicitado, y sirve la página recién creada al  cliente.  Otro  cliente  que  solicite  la  misma  página  con  otros  contenidos  recibirá  un  resultado  diferente. Por eso se habla de páginas dinámicas, porque su contenido puede variar y se genera en  el servidor en el momento de la solicitud.    2. INSTALACIÓN Y CONFIGURACIÓN DE SERVIDORES DE APLICACIONES WEB    ANÁLISIS DE REQUERIMIENTOS    Las páginas dinámicas se programan empleando tecnologías de servidor. Para probar y realizar las  prácticas  de  este  Módulo  necesitaríamos  tener  un  servidor  de  red  que  nos  proporcionara  los  servicios  necesarios.  En  este  caso  lo  ideal  es  tener  nuestro  propio  servidor  en  casa  para  poder  implementar  y  configurar  los  servicios  que  necesitemos.  Para  ello,  vamos  a  utilizar  un  solo  ordenador como cliente y servidor. La única diferencia es que, al llamar a las páginas así creadas,  en lugar de usar una dirección de Internet usaremos la dirección de nuestra propia máquina local.  Luego, una vez creado y probado un sitio, lo subiremos al servidor remoto que nos interese y allí  estará disponible para todo el mundo.    SERVIDOR WEB Y SISTEMA GESTOR DE BASES DE DATOS:  INSTALACIÓN Y CONFIGURACIÓN  U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 1 

 

Servidor  Apache.  El  programas  que  emplearemos  es  Apache  porque  es  el  más  extendido  en  Internet. Esto es porque es gratuito y es uno de los más robustos que existen, muy seguro ante los  ataques de la Red.  Intérprete de PHP. Cuando el usuario solicita una página desarrollada mediante esta tecnología, el  intérprete  de  PHP,  instalado  en  el  equipo  servidor,  lee  el  código  de  dicha  página  y  lo  ejecuta. A  continuación genera una página HTML como resultado, y se la entrega al servidor web, quien se la  envía al cliente.  Base  de  datos  MySQL.  Sirve  para  obtener  información  almacenada  en  una  base  de  datos  en  el  servidor. MySQL posee un motor de datos muy rápido tanto grabando datos, como localizándolos  y  recuperándolos.  Además  ofrece  una  gran  seguridad  sobre  la  integridad  de  los  datos  almacenados.  Para montar el servidor web, el intérprete de PHP y el motor de bases de datos MySQL contamos  con  una  aplicación  llamada  AppServ.  Está  disponible  en  la  dirección:  http://www.appservnetwork.com     Pasos:   

  U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 2 

  Seguidamente instalamos el motor de bases de datos de MySQL:   

 

  U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

  Página: 3 

Si no se inicializa durante la instalación, se puede hacer manualmente con el archivo:   

    CONFIGURACIÓN DEL SERVIDOR    Hay que establecer un par de parámetros:    Primeramente todos los sitios dinámicos que realicemos deberán estar alojados en una carpeta  específicamente creada al efecto, que actuará como servidor. Por ejemplo, creamos una carpeta  llamada: C:\miswebs .    Una vez creada la anterior carpeta, accedemos a la carpeta AppServ y dentro de esta a una  llamada conf, la abrimos con un editor de texto plano y sustituimos las líneas:    DocumentRoot "c:/miswebs" y un poco más abajo     También hay que asegurarse que la línea Servername tiene localhost.    Se guardan los cambios y se tiene que reiniciar el ordenador.    3. PROCESAMIENTO DE CÓDIGO: LENGUAJES DE SCRIPT EN CLIENTE Y SERVIDOR    PÁGINAS QUE SE PROCESAN EN EL CLIENTE. Son las que se ejecutan en el navegador del usuario.     LENGUAJES WEB DE CLIENTE    Los lenguajes que se utilizan para crear estas páginas son principalmente: HTML, Javascript , Visual  Basic Script, DHTML , CSS y Applets de Java.    HTML. El código HTML, indica básicamente dónde colocar cada texto, cada imagen o cada video y  la forma que tendrán estos al ser colocados en la página.    Javascript.  Es  el  lenguaje  de  programación  del  lado  del  cliente  más  utilizado.  Con  Javascript  podemos  crear  efectos  especiales  en  las  páginas  y  definir  interactividades  con  el  usuario.  El  navegador del cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para  realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el único, con que  cuenta este lenguaje es el propio navegador.     Visual  Basic  Script.  Está  basado  en  Visual  Basic,  un  popular  lenguaje  para  crear  aplicaciones  Windows. El modo de funcionamiento de Visual Basic Script para construir efectos especiales en  páginas  web  es  muy  similar  al  utilizado  en  Javascript  y  los  recursos  a  los  que  se  puede  acceder  también son los mismos: el navegador.   

U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 4 

DHTML.    No  es  precisamente  un  lenguaje  de  programación.  Más  bien  se  trata  de  una  nueva  capacidad  de  la  que  disponen  los  navegadores  modernos,  por  la  cual  se  puede  tener  un  mayor  control  sobre  la  página  que  antes.  DHTML  nos  da  más  control  sobre  la  página  porque  los  navegadores modernos incluyen una nueva estructura para visualizar en páginas web denominada  capa. Las capas se pueden ocultar, mostrar, desplazar, etc.   Para  realizar  las  acciones  sobre  la  página,  como  modificar  la  apariencia  de  una  capa,  seguimos  necesitando un lenguaje de programación del lado del cliente como Javascript o VBScript.    CSS.  Son  las  siglas  de  Cascading  Style  Sheets,  en  español  Hojas  de  estilo  en  Cascada.  Es  una  tecnología que nos permite crear páginas web de una manera más exacta. Gracias a las CSS somos  mucho más dueños de los resultados finales de la página, pudiendo hacer muchas cosas que no se  podía hacer utilizando solamente HTML, como incluir márgenes, tipos de letra, fondos, colores...    Applets  de  Java.  Es  otra  manera  de  incluir  código  a  ejecutar  en  los  clientes  que  visualizan  una  página web. Se trata de pequeños programas hechos en Java, que se transfieren con las páginas  web y que el navegador ejecuta en el espacio de la página.  La  principal  ventaja  de  utilizar  applets  consiste  en  que  son  mucho  menos  dependientes  del  navegador  que  los  scripts  en  Javascript,  incluso  independientes  del  sistema  operativo  del  ordenador donde se ejecutan. Además, Java es más potente que Javascript, por lo que el número  de aplicaciones de los applets podrá ser mayor.  Como  desventajas  en  relación  con  Javascript  cabe  señalar  que  los  applets  son  más  lentos  de  procesar  y  que  tienen  espacio  muy  delimitado  en  la  página  donde  se  ejecutan,  es  decir,  no  se  mezclan con todos los componentes de la página ni tienen acceso a ellos. Es por ello que con los  applets  de  Java  no  podremos  hacer  directamente  cosas  como  abrir  ventanas  secundarias,  controlar Frames, formularios, capas, etc.    PÁGINAS  WEB  DEL  SERVIDOR.  Estas  páginas  descargan  al  servidor  algunos  trabajos,  ofrecen  respuestas inmediatas a las acciones del usuario y permiten la utilización de algunos recursos de la  máquina local.   Las  páginas  del  servidor  son  útiles  en  muchas  ocasiones.  Con  ellas  se  puede  hacer  todo  tipo  de  aplicaciones web. Desde agendas a foros, sistemas de documentación, estadísticas, juegos, chats,  etc.  Son  especialmente  útiles  en  trabajos  en  los  que  se  tiene  que  acceder  a  información  centralizada, situada en una base de datos en el servidor, y cuando por razones de seguridad los  cálculos no se pueden realizar en el ordenador del usuario.   Son  necesarias  porque  para  hacer  la  mayoría  de  las  aplicaciones  web  se  debe  tener  acceso  a  muchos  recursos  externos  al  ordenador  del  cliente,  principalmente  bases  de  datos  alojadas  en  servidores de Internet.    LENGUAJES WEB DE SERVIDOR    PHP,  Hypertext  Preprocesor.  Es  un  lenguaje  de  programación  del  lado  del  servidor  gratuito  e  independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación.  Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones  en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una  página con el código HTML resultante de la ejecución de PHP. Como la página resultante contiene  únicamente código HTML, es compatible con todos los navegadores. 

U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 5 

Fue  creado  originalmente  en  1994  por  Rasmus  Lerdorf,  pero  como  PHP  está  desarrollado  en  política  de  código  abierto,  a  lo  largo  de  su  historia  ha  tenido  muchas  contribuciones  de  otros  desarrolladores.   Este  lenguaje  de  programación  está  preparado  para  realizar  muchos  tipos  de  aplicaciones  web  gracias  a  la  extensa  librería  de  funciones  con  la  que  está  dotado.  La  librería  de  funciones  cubre  desde cálculos matemáticos complejos hasta tratamiento de conexiones de red.   Algunas de las más importantes capacidades de PHP son: compatibilidad con las bases de datos  más comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por ejemplo. Incluye funciones para  el envío de correo electrónico, upload de archivos, crear dinámicamente en el servidor imágenes  en formato GIF, incluso animadas y una lista interminable de utilidades adicionales.    

    CGI, Common Gateway Interface. Es el sistema más antiguo que existe para la programación de  las  páginas  dinámicas  de  servidor.  Actualmente  se  encuentra  un  poco  desfasado  por  diversas  razones  entre  las  que  destaca  la  dificultad  con  la  que  se  desarrollan  los  programas  y  la  pesada  carga que supone para el servidor que los ejecuta.  Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros lenguajes como C, C++ o  Visual Basic pueden ser también empleados para construirlos.    ASP, Active Server Pages. Es la tecnología desarrollada por Microsoft para la creación de páginas  dinámicas del servidor. ASP se escribe en la misma página web, utilizando el lenguaje Visual Basic  Script o Jscript (Javascript de Microsoft).    JSP, Java Server Pages. En castellano vendría a decir algo como Páginas de Servidor Java. Es, pues,  una tecnología orientada a crear páginas web con programación en Java.    LENGUAJE XML.    XML, con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas,  más  avanzada,  cuya  principal  novedad  consiste  en  permitir  compartir  los  datos  con  los  que  se  U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 6 

trabaja a todos los niveles, por todas las aplicaciones y soportes. Así pues, el XML juega un papel  importantísimo en este mundo actual, que tiende a la globalización y la compatibilidad entre los  sistemas, ya que es la tecnología que permitirá compartir la información de una manera segura,  fiable, fácil. Además, XML permite al programador y los soportes dedicar sus esfuerzos a las tareas  importantes cuando trabaja con los datos, ya que algunas tareas tediosas como la validación de  estos  o  el  recorrido  de  las  estructuras  corre  a  cargo  del  lenguaje  y  está  especificado  por  el  estándar, de modo que el programador no tiene que preocuparse por ello.   Vemos  que  XML  no  está  sólo,  sino  que  hay  un  mundo  de  tecnologías  alrededor  de  él,  de  posibilidades,  maneras  más  fáciles  e  interesantes  de  trabajar  con  los  datos  y,  en  definitiva,  un  avance  a  la  hora  de  tratar  la  información,  que  es  en  realidad  el  objetivo  de  la  informática  en  general.  XML,  o  mejor dicho,  el  mundo  XML  no  es  un  lenguaje,  sino varios  lenguajes,  no  es una  sintaxis,  sino  varias  y  no  es  una  manera  totalmente  nueva  de  trabajar,  sino  una  manera  más  refinada  que  permitirá que  todas  las  anteriores  se  puedan  comunicar entre  sí  sin problemas, ya  que los datos cobran sentido. XML es interesante en el mundo de Internet y el e‐bussiness, ya que  existen muchos sistemas distintos que tienen que comunicarse entre sí.     4. COMPROBANDO EL FUNCIONAMIENTO    Para probar que el servidor funciona, creamos un archivo llamado pruebaApache.htm con el block  de notas.    Apache funcionando

 

    Para probar que funciona PHP, creamos el archivo pruebaPHP.php.   

 

U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 7 

  Si se ejecuta la opción ver código fuente de la página:   

 

 

 

  U.T. 1 INSTALACIÓN DE SERVIDORES DE APLICACIONES WEB   

Página: 8 

U. T. 2 INSTALACIÓN DE GESTORES DE CONTENIDOS  1. GESTORES DE CONTENIDO. CONCEPTOS    Un sistema de gestión de contenidos (en inglés content management system , abreviado CMS ) es  un  programa  que  permite  crear  y  administrar  contenidos,  principalmente  en  páginas  web.  Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del  sitio.  El  sistema  permite  manejar  de  manera  independiente  el  contenido  y  el  diseño,  además  permite la fácil y controlada publicación en el sitio a varios editores.   Un CMS siempre funciona en el servidor web en el que esté alojado el portal. El acceso al gestor se  realiza  generalmente  a  través  del  navegador  web,  y  se  puede  requerir  el  uso  de  FTP  para  subir  contenido.  Cuando  un  usuario  accede  a  una  URL,  se  ejecuta  en  el  servidor  esa  llamada,  se  selecciona el esquema gráfico y se introducen los datos que correspondan de la base de datos. La  página se genera dinámicamente para ese usuario, el código HTML final se genera en esa llamada.  Normalmente se predefine en el gestor varios formatos de presentación de contenido para darle  la flexibilidad a la hora de crear nuevos apartados e informaciones.     2. TIPOS DE GESTORES DE CONTENIDOS MAS UTILIZADOS  Plataformas de Gestión de Contenido Drupal (PHP) . Poderoso CMS muy conocido por la calidad  de su código y por la seguridad que brinda, es estable y de actualización continua, configuración  sencilla,  instalación  ágil,  importante  cantidad  de  módulos  y  temas  visuales,  excepcional  documentación y comunidad activa y muy amigable, gran concepto de nodo.    Mambo (PHP). CMS muy fácil de usar, pero con posibilidades un poco limitadas.    Joomla. Este es el CMS mas usado en internet, grandes portales de todo tipo se han montado bajo  este poderoso gestor de contenido, por su variedad de plantillas, además de su amplia comunidad  de desarrolladores libres que sacan diversos módulos para poder instalarlos.     TIPOS DE GESTORES DE CONTENIDO PARA FOROS    SMF Simple Machines Forum , abreviado SMF , es un gestor de contenidos gratuito. Se encuentra  orientado a la creación de comunidades on‐line, teniendo como eje phpBB es un sistema de foros  gratuito  basado  en  un  conjunto  de  paquetes  de  código  programados  en  el  popular  lenguaje  de  programación  web  PHP  y  lanzado  bajo  la  Licencia  pública  general  de  GNU,  cuya  intención  es  central  la  gestión  de  foros.  Escrito  enteramente  en  PHP  utiliza  MySQL  la  de  proporcionar  fácilmente, y con amplia posibilidad de personalización, una herramienta para crear comunidades.     TIPOS DE GESTORES DE CONTENIDO CMS PARA BLOGS    WordPress  es  un  sistema  de  gestión  de  contenido  enfocado  a  la  creación  de  blogs  (sitios  web  periódicamente actualizados). Desarrollado en PHP y MySQL, bajo licencia GPL. WordPress se ha  convertido en el CMS más popular de la blogosfera.    B2Evolution es uno de los CMS para creación de blogs como alternativa a Wordpress. Dispone de  temas y plugins variados al estilo de los CMS extensibles.    U.T. 2 Instalación de Gestores de Contenidos     

Página: 1 

3. FUNCIONES BÁSICAS DE UN GESTOR DE CONTENIDOS   

Creación de contenidos. Se pueden generar contenidos gracias a los editores integrados de los  CMS, se trata de editores del tipo WYSIWYG con los que se puede ver el aspecto final del  documento a medida que se elabora.    Gestión de contenidos. Cuando un usuario crea un documento, se almacena en una base de datos  junto con otras informaciones de interés. Así mismo, se consignan también los usuarios a los que  se ha dado de alta, la estructura del portal, los estilos y temas utilizados, además de toda la  información generada a partir de las funcionalidades del CMS.    Publicación de contenidos. Cuando el usuario da por terminado un contenido, puede publicarlo  en ese mismo momento o bien programarlo para que aparezca en una fecha concreta.    Presentación del CMS. Se pueden utilizar desde cualquier navegador y permiten establecer el  idioma, el huso horario e incluso la moneda deseada.    4. JOOMLA. REQUERIMIENTO DE FUNCIONAMIENTO E INSTALACIÓN    Es un CMS dinámico que permite la creación de sitios web para la publicación de noticias, difusión  de la información de cualquier tipo, portales corporativos, sitios web para comercio electrónico,  etc.  Es  una  aplicación  web  que  se  distribuye  con  licencia  pública  general  GPL.  En  buena  parte  está  escrita en PHP y puede descargarse en el sitio oficial del proyecto http://www.joomla.org  Los elementos básicos para su funcionamiento son: 

   Base de datos MySQL. Almacena en tablas diferenciadas toda la información del sitio, así  como gran parte de la configuración del sistema.     Motor PHP. Ejecuta órdenes de búsqueda, almacenamiento, consulta y modificación sobre  la  base  de  datos.  Los  datos  obtenidos  se  transforman  en  páginas  web  que  son  interpretadas, mostradas por los navegadores y entendibles para los usuarios.     Servidor HTTP Apache.    En cuanto al aspecto y funcionalidad, los elementos básicos ofrecidos por Joomla son:    Plantillas (templates). Es la parte del software que determina la apariencia, la disposición de los  módulos, etc.    Extensiones  (módulos  y  componentes)  para  generar  formularios  dinámicos;  la  gestión  de  documentos; crear galerías de imágenes multimedia; el comercio electrónico; foros, blogs y chats;  calendarios;  servicios  de  directorio;  boletines  de  noticias;  el  registro  de  datos;  la  publicación  de  anuncios; la gestión de suscripción.    Los  diferentes  requerimientos  de  funcionamiento  y  ayuda  están  en  la  página  web  http://ayuda.joomlaspanish.org/ayuda‐joomla 

  U.T. 2 Instalación de Gestores de Contenidos     

Página: 2 

INSTALACIÓN DE JOOMLA    Una vez que se ha descargado el paquete del sitio web correspondiente y se extraen los archivos  en  una  carpeta  creada  dentro  de  la  que  tenemos  como  localhost  (UT  1,  pág.  4).  Realizamos  los  siguientes pasos:                                                                                      U.T. 2 Instalación de Gestores de Contenidos     

Página: 3 

                              Creación de la base de datos:                                                  U.T. 2 Instalación de Gestores de Contenidos     

Página: 4 

5. ESTRUCTURA DEL CMS JOOMLA    La estructura de Joomla se compone de dos partes bien diferenciadas: frontend (o parte pública) y  backend (el centro de administración).    FRONTEND. Consta de los siguientes elementos:     Logo Joomla!   Menú con enlaces a las secciones del portal.   Banner publicitario.   Barra de navegación .   Menú principal.   Últimas noticias incorporadas en el portal.   Contenidos más visitados.   Zona donde el administrador muestra alguna noticia o comunicado de interés.   Zona central con noticias.   Zona de encuestas.   Zona de usuarios en línea.   Zona de enlaces relacionados con el proyecto Joomla!   Formulario para el registro de usuarios.   Zona de sindicación.   Zona de accesibilidad.    Todas estas zonas son configurables.    BACKEND. Es solo accesible para determinados perfiles de usuario. Desde la página principal del  portal web de Joomla, el administrador se puede conectar de dos formas:    1. Proporcionando el nombre de usuario y la contraseña del administrador al rellenar el  formulario de conexión.  2. Seleccionando la opción Administración del bloque de recursos.   

  A partir de este momento accedemos a varios botones de acceso rápido a diferentes acciones y  una barra de menús desplegable. 

U.T. 2 Instalación de Gestores de Contenidos     

Página: 5 

 

 

6. PERSONALIZACIÓN DE LA INTERFAZ   

PRÁCTICA 1.  PERSONALIZACIÓN IDIOMA    Con esta práctica tienes que conseguir que el entorno este en idioma español. Para ello tienes que  hacer los pasos:    1. Descarga e instalación de las extensiones para el front y para el back. La descarga la puedes  hacer desde la dirección:  http://extensiones.joomlaspanish.org/    2. Activación del idioma español.    El aspecto final debe ser:   

    7. CONFIGURACIÓN GLOBAL Y ASPECTO DE JOOMLA    CONFIGURACIÓN DEL SITIO   Metadatos. Información sobre los datos del sitio web. es importante definirlos para que los  motores de búsqueda puedan localizar el portal.  SEO (SearchEngineOptimization). Proceso de optimización de un sitio y que consiste en aplicar  diversas técnicas para que los buscadores de internet sitúen el portal basado en Joomla! en las  primeras posiciones dentro de sus páginas de resultados en función de términos y frases clave.    U.T. 2 Instalación de Gestores de Contenidos     

Página: 6 

    CONFIGURACIÓN DEL SISTEMA  Configuración del sistema. Contiene la palabra secreta que es la contraseña cifrada del  administrador.  Parámetros de la depuración de errores. Permiten depurar el sistema o el idioma.  Parámetros de la caché. Activan el uso de la caché del navegador para agilizar el acceso a  contenidos ya descargados.  Configuración de la sesión. Establece el tiempo que durará la sesión de los usuarios registrados. Al  cabo de ese tiempo, se forzará de nuevo el registro.   

 

    U.T. 2 Instalación de Gestores de Contenidos     

Página: 7 

CONFIGURACIÓN DEL SERVIDOR  En este panel podemos configurar aspectos como la posibilidad de comprimir las páginas,  establecer para el portal el huso horario, asignar parámetros básicos de configuración del FTP,  configurar la base de datos y el servidor de correos. 

  CONFIGURACIÓN DE PERMISOS  Entre otras opciones permite y deniega el registro de los usuarios y activa o no las cuentas de los  nuevos usuarios.   

  U.T. 2 Instalación de Gestores de Contenidos     

Página: 8 

UNIDAD  DE  TRABAJO  3:    USUARIOS  Y  GRUPOS.  PERFILES.  CONTROL  DE  ACCESO Y SEGURIDAD.    Joomla! establece dos grandes grupos de usuarios:    Usuarios  del  administrador  (backend):  son  usuarios  que  pueden  acceder  a  la  administración del portal.  Tipos:    .  Mánager  o  gestor:  En  el  menú  Sitio  tiene  acceso  a  una  parte  restringida  de  las  opciones del panel de control, como el gestor multimedia. En Opciones, puede acceder a  los ítems de menú pero no crearlos o eliminarlos.. Dispone de todos los permisos para la  gestión de los contenidos.    .  Administrador:  Además  de  todos  los  permisos  del  mánager,  puede  ocuparse  de  la  gestión de los menús y los usuarios (excepto el súper administrador) y encargarse de la  instalación de componentes y módulos, aunque no de las plantillas ni de los idiomas.    .  Súper  administrador:  posee  acceso  total  y  absoluto  a  toda  la  administración  del  portal.   

PRÁCTICA 1    Crear un usuario perfil manager y otro con perfil administrador.    Usuarios del sitio (frontend): son usuarios que pueden acceder a determinadas secciones  de la parte pública.  Tipos:    .  Registered:  Puede  acceder  a  las  zonas  de  la  parte  pública  de  Joomla!  a  las  que  el  administrador asigne este nivel de acceso. Es el perfil de la mayor parte de los usuarios  del portal.    .  Author:  Se  le  permite  enviar  artículos,  pero  no  publicarlos  ni  tampoco  editar  los  escritos  por  otros  usuarios.  Su  tarea  queda  pendiente  hasta  que  un  administrador  los  aprueba.    .  Editor:  Puede  enviar  artículos  y  editar  los  de  otros  usuarios,  pero  no  puede  publicarlos.    . Publisher: Dispone de permisos para enviar, modificar y publicar sus artículos o los  de otros usuarios.  A estos usuarios cabe añadir los anónimos, quienes no se registran en el portal y tienen  acceso a las partes que el administrador configura como públicas (Public).    PRÁCTICA 2    Crear un usuario con el perfil "Registered".    Traduce al castellano el nombre del módulo que permite la conexión de los usuarios con  cuenta en el portal.   

U. T. 4 GESTIÓN DE EXTENSIONES  Por extensiones entendemos todo aquello que realiza alguna tarea en Joomla! y que, junto al Core  (corazón o núcleo de Joomla!), complementan y desarrollan toda la potencialidad del sistema. Son  extensiones los componentes, los módulos, los plugins, los idiomas y las plantillas (templates).   









Los  Componentes  son  quizá  las  aplicaciones  más  importantes  que  juegan  un  papel  fundamental  en  la  gestión  de  contenidos  de  Joomla!  Son  pequeños  programas  independientes entre sí, que están junto al núcleo de Joomla!, o bien se descargan aparte,  y posteriormente se instalan desde el panel de Administración de Joomla!.  Cada  componente  tiene  su  propia  tabla  en  la  base  de  datos  de  Joomla!  y  también  sus  propios  archivos.  Esto  es  precisamente  lo  que  les  da  una  independencia  en  el  funcionamiento  y  no  interfieren,  en  general,  unos  con  otros.  Además,  esto  brinda  la  posibilidad de que pueden ser instalados o desinstalados en cualquier momento, es decir,  el  sistema  permite  un  asincronismo  temporal  en  la  instalación/desinstalación  de  estas  aplicaciones.   Hay  distintos  tipos  de  componentes  y  de  muy  diversas  funcionalidades  (se  designa  el  nombre de los componentes con el prefijo "com_"):     Componentes que funcionan en el Front‐end y en la Administración de Joomla! Ejemplos:  com_content, com_weblinks, com_newsfeeds, etc.  Componentes  que  funcionan  exclusivamente  en  la  Administración  de  Joomla!  Ejemplos:  com_frontpage, com_login, com_massmail, com_templates, etc.  Componentes  que  funcionan  exclusivamente  en  el  Front‐end,  no  son  tan  comunes,  generalmente son creados por desarrolladores independientes.  Componentes  que  combinan  su  funcionamiento  con  módulos,  generalmente  la  gran  mayoría. Ejemplos: com_banners, com_polls, com_login, etc.    Los  Módulos  son  aplicaciones  mucho  más  simples  que  los  componentes  y  generalmente  son  una  extensión  o  complemento  de  algún  componente.  Los  módulos  muestran  información secundaria, simplificada y breve que toman de la base de datos. Pero también  tienen funciones más importantes que llevar a cabo: pueden publicar los enlaces del menú,  recoger datos de acceso mediante un formulario, etc.    Los  Plugins  son  aplicaciones  que  literalmente  “interceptan”  los  artículos  de  contenido  (documentos o ítems de componentes) antes de ser mostrados y publicados en el sistema,  y  le  agregan  información  adicional  o  lo  “alteran”  en  forma  dinámica,  completando  así  el  contenido total que va a ser entregado al navegador del usuario final. Los plugins pueden  ser  llamados  mediante  comandos  especiales,  o  se  pueden  mostrar  de  forma  predeterminada para ciertos contenidos/componentes. Originalmente, el término utilizado  era  Mambot,  y  era  ésta  la  función  que  desempeñaban,  pero  su  denominación  cambia  porque  los  plugins  ofrecen  posibilidades  mucho  más  amplias,  pueden  mejorar  la  funcionalidad en el ámbito del entorno de trabajo.  Los Idiomas son paquetes de archivos que, una vez instalados, permiten que el Front‐end y  el Back‐end esté expresado en un idioma determinado.    Las  Plantillas  (Templates)  deciden  cómo  se  muestra  el  espacio  web,  tanto  el  Front‐end  como el Back‐end, en el navegador del usuario. 

  1   

Comprender la estructura de la interfaz visual del Front‐end de Joomla! es fundamental. Para un  usuario  novel  significará  poder  situar  adecuadamente  los  módulos  que  quiere  que  sean  visualizados en la navegación que ha decidido. Pero para un usuario medio/avanzado, que quiera  manipular plantillas de terceros o crear las suyas propias, es necesario que sepa en cada momento  cómo situar lo que se visualizará en el Front‐end.     

GESTIÓN DE PLANTILLAS    En Joomla los contenidos van por un lado y el diseño por otro. En cualquier momento podremos  modificar  el  diseño  de  todo  (o  parte)  del  sitio  Web  sin  alterar  el  contenido  de  los  artículos  publicados o la estructura de secciones y categorías (organización interna).    Las plantillas en Joomla son muy importantes, pues definirán la ubicación de pequeños programas  (módulos)  que  permitirán  hacer  operaciones  tan  importantes  como  acceder  al  sitio  (login),  mostrar  ciertos  contenidos,  banners,  ubicar  columnas  y  otros  elementos  de  nuestro  sitio  Web.  Una  plantilla  bien  diseñada  supondrá  prácticamente  el  70%  del  triunfo  de  nuestra  Web.  De  ahí  que uno de los primeros procesos a realizar una vez instalado Joomla, tras la configuración básica,  sea la selección e instalación de una plantilla (y es recomendable que ésta vaya a ser la definitiva,  o luego tendremos muchos problemas)    Desde el Gestor de Plantillas, al que se accede en el menú "Extensiones ‐> Gestor de Plantillas"  podremos realizar muchas operaciones con las que ya tenemos instaladas, pero Joomla, además  permite la instalación de nuevas plantillas que podemos descargar gratuitamente de Internet.    POSICIONES DE MÓDULOS EN UNA PLANTILLA    Cada  plantilla  distribuye  de  forma  diferente  las  distintas  zonas  de  contenidos  (módulos)  en  diferentes posiciones dentro de la página. Aunque posteriormente veremos en otro capítulo qué  son los "módulos" y para qué sirven, ahora nos interesa conocer que cada plantilla tiene una serie  de  espacios  dedicados  a  la  ubicación  de  módulos  de  Joomla.  Esto  es  muy  importante  pues  definirá  la  ubicación  de  ciertos  controles  y  pequeños  programas  en  nuestra  página,  como  el  formulario de acceso, un menú, una encuesta... Estas zonas están predefinidas en la plantilla y no  pueden  ser  modificadas,  salvo  que  tengamos  conocimientos  en  el  desarrollo  de  plantillas  (PHP,  xHTML, CSS...)    Cada espacio dedicado a ubicar módulos recibe un nombre que lo identificará posteriormente en  el  "gestor  de  módulos":  top,  right,  left,  user1,  user2...  user32.  Cada  plantilla  tiene  sus  propios  "huecos"  y  los  ubica  en  posiciones  diferentes.  En  ocasiones  reciben  nombres  similares,  aunque  cada plantilla puede seguir su propio esquema de posiciones de módulos. Por ejemplo, si el hueco  para módulos ocupa la columna de la derecha, a este espacio se le denominará "right", o si ocupa  la zona superior, se le denominará "top".    Una práctica común en el diseño de sitios Web con Joomla es conocer estos espacios para ubicar  módulos, pues son muy importantes. A veces es conveniente contar con un esquema en papel de  la posición de estas zonas (lo puedes dibujar a mano), para posteriormente conocer dónde situar  nuestros módulos. Hay algunas plantillas que acompañan una imagen "JPG" con la posición de las  zonas para módulos.    2   

Ejemplo del diseño de la plantilla BizBlue:          newsflashload                    Position top 1  Position top 2  Position top 3      ....    Cada "hueco" o zona de módulos permite la inserción de uno o varios módulos.   

PRÁCTICAS SOBRE LA INSERCIÓN DE ALGUNOS MÓDULOS EN NUESTRA PLANTILLA    PRÁCTICA 1. En position‐3 (Right 2) de BizBlue poner un módulo con visualización de fotos  aleatorias. PASOS:      ‐ Buscar extensión e instalarla.    ‐ Administrador de módulos. Nuevo y seleccionar Tipo de módulo.    ‐ Título, posición, subir fotos,...    PRÁCTICA 2. En position‐4 (Right 3) de BizBlue poner un módulo calendario. PASOS:      ‐  Buscar extensión e instalarla.    ‐ Administrador de módulos. Nuevo y seleccionar Tipo de módulo.    ‐ Título, posición, ...    PRÁCTICA 3. En posición newflashload (bannersload) de BizBlue poner otro módulo de fotos  aleatorias. Puesto que ya está instalada la extensión, pasamos directamente a crear el nuevo  módulo.    PRÁCTICA 4. Quitar logo con propiedades de la plantilla.    PRÁCTICA 5. Cambiar foto de cabecera desde el directorio corrrespondiente.    PRÁCTICA 6. Cambiar el título del Menú principal y del formulario de acceso. Se accede a Gestión  de Módulos y se cambia el Título.   

3   

U. T. 5 GESTIÓN DE CONTENIDOS    ¿En qué orden se crean los contenidos? ¿Cómo empezar? y ¿cómo seguir?    Una vez que ya está Joomla instalado, configurado y funcionando, debes comenzar por orden de  importancia a:    1. Definir  y  crear  los  "contenedores"  de  primer  orden  (los  que  engloban  todo):  las  CATEGORÍAS.    2. Crear  los  "contenedores"  de  segundo  orden  (que  pertenecen  a  las  CATEGORÍAS):  las  SUBCATEGORÍAS.    3. Cargar la información pertenecientes a sus propias secciones/categorías.     4. Definir  y  crear  la  navegabilidad  o  "menús"  (los  accesos  que  van  a  tener  los  navegantes/usuarios a esos documentos web publicados).    Los puntos 3 y 4 (incluso los puntos 1, 2, 3, y 4) pueden ir alternándose. Pero muchos principiantes  tratan de crear los menús o los enlaces primero, y luego los contenidos. No tardan en darse cuenta  que "no saben cómo hacer". Esto es un error, el orden correcto es así:   

creación  y  publicación  de  categoría  >>  creación  y  publicación  de  subcategoría  >>  creación y publicación de los documentos >> construcción del menú de navegación    CONTENIDOS    Desde el punto de vista de la gestión de contenidos, Joomla! permite una clasificación de artículos  de  contenidos  organizados  dentro  de  categorías,  y  pueden  ser  manipulados  fácilmente  para  modificar su clasificación y la navegación que se realizará a través de ellos.     Se  puede  necesitar  que  un  determinado  artículo  de  contenido  no  esté  definido  dentro  de  una  sección/categoría. Hablamos, por tanto, de contenidos no clasificados.     Aparte,  se  puede  decidir  que  haya  contenidos  archivados.  Archivar  un  artículo  de  contenido  supone decidir que sigue activo, pero no se encuentra clasificado dentro de la categoría original.  De  hecho,  supone  crear  una  estructura  paralela  de  categorías,  identificadas  de  igual  forma,  e  incluso, permite realizar vínculos en los menús a estas categorías o artículos “archivados”.     Tomar buenas decisiones en las categorías y subcategorías que sirvan para clasificar y visualizar los  contenidos  es,  sin  duda,  una  de  las  tareas  que  deben  ser  mejor  meditadas  para  poder  tener  un  buen sitio web.   Los contenidos pueden ser creados, editados y publicados desde el Frotn‐end y desde el Back‐end,  pero  las  opciones  de  creación  de  categorías  para  su  clasificación,  ordenación,  archivado  y  eliminación deben ser gestionadas desde el Back‐end.     MENÚS    La navegación y el acceso a los recursos en el sitio web se realizan a través de la navegación que se  decide en los menús.  

Lo menús en Joomla! son grupos de vínculos a categorías, artículos de contenido, componentes o  páginas externas.  Los  menús  son  módulos,  hay  distintos  tipos  de  menús  y  pueden  ser  creados  todos  los  que  necesitemos. Incluso pueden mostrarse diferentes menús dependiendo de la página por la que se  esté  navegando.  Cada  menú  debe  tener  un  nombre  de  identificación  único  usado  internamente  por Joomla!. Un menú sólo es visible en el sitio web si el correspondiente módulo mod_mainmenu  está habilitado (publicado).     Joomla!  utiliza  un  único  módulo  de  menú,  llamado  internamente  “mod_mainmenu”.  Los  menús  que se han creado en la instalación están asociados a instancias de este módulo. Y cada vez que se  crea o elimina un menú se actúa sobre la instancia de este.   Pensar detenidamente qué menús, con qué elementos de menú y dónde serán accesibles y para  qué usuarios, será una parte determinante en la elaboración de nuestro sitio web, sin duda.    CREACIÓN DE UN MENÚ EN JOOMLA 1.6    El proceso de creación de un menú en Joomla 1.6 no es una tarea sencilla. En realidad, es una de  las más complejas, dado que se deben seguir una serie de pasos y las configuraciones requieren de  ingresar una buena cantidad de parámetros, los que deben ser comprendidos en su totalidad para  obtener buenos resultados.  La complejidad del sistema de creación de menús deriva de la importancia de los mismos y de la  cantidad de funciones que cumplen. El proceso de creación de un menú consta de tres pasos:  1. Crear  el  menú,  que  consiste  simplemente  en  crear  el  espacio,  el  módulo,  donde  se  colocarán los elementos del menú.  2. Creación de los elementos de menú.  3. Ubicación y publicación del módulo menú.    Creación del módulo menú  La  creación  de  un  nuevo  menú  tiene  como  primer  paso  la  instalación  de  un  módulo  de  características  especiales,  como  son  los  menús.  Para  cumplir  este  paso,  deberemos  acceder  al  Gestor de Menús, empleando el ícono correspondiente del Panel de Control o a través de Menús  / Gestor de Menús del menú principal del Administrador de Joomla 1.6.    La ventana que se aparecerá es un listado de los menús existentes. Este listado, como podemos  ver  en  la  imagen  de  abajo,  tiene  en  el  eje  vertical  la  lista  de  todos  los  menús  que  contiene  la  página. El eje horizontal está dividido en columnas, que son las siguientes:  1. Casillas de verificación, mediante las cuales se pueden seleccionar uno o más menús para  realizar acciones en bloque, como borrar. En caso de que se realice una selección múltiple  y  se  emplee  una  acción  que  solo  puede  realizarse  en  un  menú  a  la  vez,  como  editar,  el  menú que se abrirá para la edición será el último de la lista seleccionada.  2. Título  y  tipo  de  menú,  contenidos  en  la  misma  celda.  Además  de  dar  la  información  mencionada,  son  enlaces  que  dirigen,  el  título,  al  gestor  de  elementos  de  menú  con  los  elementos  filtrados  para  este  menú  en  forma  exclusiva,  y  el  tipo  de  menú  dirige  a  la  ventana de edición de menús correspondiente a este mismo menú.  3. Número de elementos de menú, columna que a su vez está dividida en tres columnas, que  informan  cada  una  de  ellas,  la  cantidad  de  elementos  publicados,  los  elementos  no  publicados  y  la  cantidad  de  elementos  que  se  encuentran  en  la  papelera.  Cada  uno  de  estos  números,  también  son  enlaces  que  dirigen  al  gestor  de  elementos  de  menú,  que  mostrará  solo  los  elementos  que  corresponden  a  este  menú  y  que  se  encuentran  en  el  estado de publicación que corresponde. 

4. Módulos  vinculados  al  menú.  Esta  es  otra  de  las  novedades  más  importantes  con  que  cuenta  Joomla  1.6  respecto  de  las  versiones  anteriores.  Con  un  mismo  menú  pueden  crearse más de un módulo, lo que permite que en diferentes páginas, el menú sea ubicado  en diferentes posiciones, como ya veremos más adelante. Esto dota a Joomla 1.6 de una  gran flexibilidad en la presentación de las páginas.  5. Información del número de identificación del menú (ID).    Para crear un nuevo menú, deberemos hacer clic en el botón “Nuevo” de la barra de herramientas  que se encuentra en la parte superior del listado. Con esto, accedemos a la siguiente ventana: 

  En este formulario, encontramos dos campos obligatorios y uno opcional. En el primer campo se  debe  colocar  el  título  del  menú;  en  el  segundo,  el  tipo  de  menú;  un  último  campo  opcional,  permite insertar una descripción del menú.    Creación de elementos de menú    Para  crear  elementos  de  menú,  podemos  acceder  de  varias  formas  al  gestor  de  elementos  de  menú. En primer lugar, desde la pestaña ubicada en la parte superior del gestor de menús, que  permite intercambiar las vistas con el gestor de elementos de menú. Como ya se mencionó antes,  también puede accederse a los elementos de menú de un menú específico a través del título del  menú del listado de menús.  Cuando estamos creando los elementos de un menú específico, la vía más directa de acceder a  ellos  es  la  última.  En  la  parte  superior  del  listado  de  elementos,  se  encuentra  un  buscador  que  permite filtrar las búsquedas por nivel de acceso, estado de publicación, por menú, por nivel de  menú y por lenguaje, para el caso de que optemos por editar elementos correspondientes a varios  menús diferentes.    Para generar un nuevo elemento de menú, debemos cliquear en “Nuevo”, abriéndose la siguiente  ventana: 

 

  En la imagen vemos que la ventana está dividida en tres secciones, la principal, a la izquierda, y  dos pestañas desplegables ubicadas a la derecha.     En la sección de la izquierda se encuentran los datos fundamentales del elemento. 

  El  primer  campo  es  el  que  podremos  seleccionar  el  tipo  de  elemento.  Cuando  hacemos  clic  en  “Seleccionar”, se abre la siguiente ventana: 

 

 

En esta lista de tipos de elementos de menú, nos encontramos con varios tipos de elemento, que  son  Contactos,  Feed  de  Noticias,  Enlaces  Web,  Artículos,  Búsquedas,  Gestión  de  Usuarios,  Wrapper (especie de IFrame que permite mostrar otro sitio web dentro de la página).   Hay un campo título del menú un campo en el que se puede introducir un alias, que puede ser  utilizado,  entre  otras  funcionalidades,  para  ser  utilizado  en  otros  menús.  A  continuación,  un  campo permite la introducción de notas, que se refiere a cualquier anotación que pueda resultar  útil.  En el campo siguiente se muestra el link del elemento, que puede ser editado de forma tal que se  genere  una  URL  más  amigable  que  las  que  Joomla  1.6  genera  por  defecto.  En  las  listas  desplegables que se encuentran a continuación, es posible seleccionar el estado de publicación, el  nivel de acceso, el menú al que corresponde, elemento padre para el caso de que se trate de un  elemento de sub‐menú, el “target” o la forma en que se abrirá el objetivo (misma ventana, nueva  ventana con navegación o nueva ventana sin navegación).  Debajo se encuentra dos botones de radio que permiten hacer que la página a la que se accede  desde el elemento es la página por defecto o página principal. Esta función permite modificar la  página de inicio del sitio.  Luego encontramos dos listas desplegables que posibilitan seleccionar el idioma y la plantilla con  que  se  mostrará.  Esto  también  es  novedad  en  Joomla  1.6,  y  habilita  a  la  utilización  de  varias  plantillas en un mismo sitio, así como múltiples lenguajes.    Tipos de elemento de menú    Dentro de cada tipo de elemento de menú, nos encontramos con distintos tipos de presentación  de los contenidos. Los contactos pueden presentarse de las siguientes formas:   Listado de categorías: muestra un listado de las categorías de contacto.   Lista de contactos en una categoría.   Contacto individual.   Contactos destacados.  Los feed de noticias pueden mostrarse de las siguientes formas:   Lista de todas las categorías de feed de noticias.   Lista de feeds de noticias de una categoría.   Un feed de noticias en particular.  Los enlaces también pueden ser mostrados en tres formas:   Listado de todas las categoría de enlaces.   Lista de enlaces dentro de una categoría.   Envío  de  enlaces:  muestra  un  formulario  con  el  que  se  pueden  enviar  enlaces  desde  el  frente de la página.  Los elementos relacionados con los artículos muestran los siguientes tipos:   Artículos  archivados:  en  esta  vista  se  muestran  todos  los  artículos  que  se  encuentran  archivados.   Artículo individual: muestra un único artículo cuando se accede desde este elemento.   Listado de categorías: muestra todas las categorías de artículos.   Blog de categoría: Muestra la introducción de los artículos de una categoría en formato de  blog, permitiendo configurar si se mostrarán en una o más columnas.   Lista de una categoría: Muestra todos los artículos de una categoría específica.   Artículos destacados.   Crear  artículo:  Permite  la  creación  de  un  artículo  desde  el  frente  de  la  página.  Esta  funcionalidad es nueva en Joomla 1.6, y está especialmente pensada para los usuarios que  tengan permisos de autor. 

Cuando  se  selecciona  Búsqueda  como  tipo  de  elemento,  lo  que  se  muestra  al  hacer  clic  en  el  elemento  es  el  listado surgido  de  una  búsqueda.  Esto  resulta  especialmente  útil para  presentar,  por ejemplo, los artículos relacionados con una palabra clave.  Los elementos relacionados con la gestión de usuarios, brindan acceso a distintas funcionalidades  y utilidades propias de los usuarios.   Formulario de acceso para usuarios registrados.   Acceso al perfil de usuario.   Página de edición de perfil de usuario.   Formulario de registro.   Recordatorio de nombre de usuario.   Restablecimiento de contraseña.  Cuando  se  selecciona  un  elemento  de  menú  tipo  Wrapper,  lo  que  aparece  en  la  página  es  un  Iframe de una URL especificada en la configuración del elemento de menú.  Los  links  del  sistema  son  utilidades  que  permiten  acceder  a  distintas  funcionalidades,  como  enlaces externos o internos, un alias de elemento de menú (es decir, una copia de un elemento  contenido en otro menú) o un separador de texto.    Otras opciones:   

  A la derecha de la ventana “Nuevo Elemento de Menú”, nos encontramos con dos pestañas que  abren  dos  formularios  desplegables.  En  el  primero  de  estos  formularios  se  pueden  introducir  metadatos opcionales. El manejo de estos elementos pueden contribuir en el posicionamiento de  la página en buscadores.     

  El  primer  campo  corresponde  a  una  descripción  del  título  del  enlace  del  menú.  Luego,  la  posibilidad de insertar un estilo CSS propio al enlace del menú. También es posible insertar una  imagen  del  menú,  mediante  el  empleo  de  un  enlace  que  se  ubicará  en  el  campo  existente,  o  también seleccionar una imagen ubicada en alguna de las carpetas de la instalación de Joomla 1.6.     

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

UNIDAD DE TRABAJO 7: INICIACIÓN A LA PROGRAMACIÓN DE DOCUMENTOS WEB  UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR    1. CONCEPTOS Y CLASIFICACIÓN    PÁGINAS WEB DINÁMICAS    Llamaremos  dinámicas  a  las  páginas  cuyos  contenidos  sí  pueden  ser  modificados  –de  forma  automática  o  mediante  la  intervención  de  un  usuario–  bien  sea  desde  el  cliente  y/o  desde  el  servidor.  Para que esas modificaciones puedan producirse es necesario que algo o alguien especifique: qué,  cómo, cuándo, dónde y de qué forma deben realizarse, y que exista otro algo o alguien capaz de  acceder, interpretar y ejecutar tales instrucciones en el momento preciso.  Igual que ocurre en la vida cotidiana, las especificaciones y las instrucciones requieren: un lenguaje  para definirlas; un soporte para almacenarlas y un intérprete capaz de ejecutarlas.    Scripts    Se  llama  script  a  un  conjunto  de  instrucciones  escritas  en  un  lenguaje  determinado  que  van  incrustadas  dentro  de  una  página  WEB  de  modo  que  su  intérprete  pueda  acceder  a  ellas  en  el  momento en el que se requiera su ejecución.  Cuando  se  incrustan  scripts  en  una  página  WEB  empiezan  a  convivir  en  un  mismo  documento  informaciones destinadas a distintos intérpretes.  Por  una  parte,  el  código  HTML  que  ha  de  ser  interpretado  por  el  navegador,  y  por  la  otra,  los  scripts que han de ser ejecutados –dependiendo del lenguaje en el que hayan sido escritos– por su  intérprete correspondiente.  La  manera  de  diferenciar  los  contenidos  es  delimitar  los  scripts  marcando  su  comienzo  con  una  etiqueta de apertura  y señalando el final con una etiqueta de cierre .  Lo que no está contenido entre esas etiquetas se considerará código HTML.  La  posibilidad  de  insertar  en  un  mismo  documento  scripts  desarrollados  en  distintos  lenguajes  obliga a especificar cuál se ha utilizado en cada caso, para que en el momento en el que vayan a  ser ejecutados se invoque el intérprete adecuado.  Para ello, dentro de la propia etiqueta de apertura () se inserta una referencia al tipo de  lenguaje con esta sintaxis: language="nombre"  Por ejemplo:  ...... ...... instrucciones .. ...... indicaría que las instrucciones están escritas con la sintaxis de PHP. Por el contrario, en este otro supuesto: ...... ...... instrucciones .. ...... UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:1 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

Para el caso concreto de PHP, existe una sintaxis alternativa, mucho más cómoda y que es la que  se usa habitualmente. Es la siguiente:   

 será equivalente a .    Lenguajes del lado del servidor    Un lenguaje es del lado del servidor cuando la ejecución de sus scripts se efectúa, por instancia de  este  –el  servidor–,  antes  de  dar  respuesta  a  la  petición,  de  manera  que  el  cliente  no  recibe  el  documento original sino el resultante de esa interpretación previa.  Cuando  se  usan  estos  tipos  de  lenguaje  el  cliente  recibe  un  documento  en  el  que  cada  script  contenido en el original habrá sido sustituido por los resultados de su ejecución.  Esto es algo a tener muy en cuenta, porque, en este caso, los usuarios no tendrán la posibilidad de  visualizar el código fuente, mientras que cuando se trata de lenguajes del lado del cliente siempre  es posible visualizar los scripts, bien sea de forma directa –mirando el código fuente de la página  recibida– o leyendo el contenido de ficheros externos –vinculados a ella– que son bastante fáciles  de encontrar en la caché del navegador.  La utilización de este tipo de scripts requiere que el intérprete del lenguaje sea accesible –esté del  lado– desde el propio servidor. ¿Cómo resuelve sus dudas el servidor?  Dado  que  en  unos  casos  el  servidor  debe  entregar  el  documento  original  –páginas  estáticas  o  páginas dinámicas en las que se usan lenguajes del lado del cliente– mientras que en otros casos – páginas dinámicas usando lenguajes del lado del servidor– tiene que devolver el resultado de la  ejecución de los scripts, es razonable que te preguntes: ¿cómo sabe el servidor lo que debe hacer  en cada caso? La respuesta es simple. Eso hay que decírselo. Y se le dice de una forma bastante  simple. Se indica al poner la extensión al documento.   Si en la petición se alude a un documento con extensión .htm o .html el servidor entenderá que  esa página no requiere la intervención previa de ningún intérprete de su lado y entregará la página  tal  cual.  Si  en  esa  petición  se  aludiera  a  una  extensión  distinta  –.php,  por  ejemplo–  el  servidor  entendería que antes de servir la página debe leerla y requerir al intérprete de PHP que ejecute  los scripts desarrollados en ese lenguaje (en caso de que los contuviera) y devolvería al cliente el  documento que resultara de las eventuales ejecuciones de tales scripts.    Requisitos para el uso del lenguaje PHP    De acuerdo a lo comentado en los párrafos anteriores y en los esquemas que tenemos  la derecha,  el uso del lenguaje PHP requiere tener instalado y configurado:  • Un software de servidor  –configurado para interactuar con el intérprete de PHP– que soporte el protocolo HTTP y que en  nuestro caso será el denominado servidor Apache.  • El intérprete de PHP.  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:2 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

• Un software de servidor de bases de datos capaz de ser gestionado mediante funciones propias  de PHP.    Utilizaremos el servidor de bases de datos conocido como MySQL. 

  2. INSTALACIÓN DEL EDITOR DE PHP    Instalación del editor Php Coder Pro!    A  lo  largo  del  curso  va  a  sernos  de  gran  utilidad  el  uso  un  editor  de  textos  que  nos    permita  identificar los números de línea de nuestros scripts y que a la vez nos ayude –mediante resaltado  de textos– a depurar la sintaxis.  Existen  multitud  de  editores  y  podrás  utilizar  –a  tu  gusto–  este  o  cualquier  otro  que  uses  habitualmente.  El  hecho  de  sugerirte  este  obedece  a  al  hecho  de  que  es  gratuito,  bastante  completo, consume pocos recursos y se va actualizando periódicamente.    3. PÁGINAS PHP    Las  páginas  PHP  pueden  ser  páginas  web  normales  a  las  que  se  cambia  la  extensión,    poniendo  .php en vez de .htm ó .html.  En una página cuyo nombre tenga por extensión .php se pueden insertar instrucciones –escritas  en lenguaje PHP– anteponiendo .  A cada uno de estos bloques de instrucciones le llamaremos un script.  No  existe  límite  en  cuanto  al  número  de  scripts  distintos  que  pueden  insertarse  dentro    de  una  página.  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:3 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

  4. SINTAXIS    La primera instrucción PHP que conoceremos será esta:    echo "un texto..";  

La instrucción echo seguida de un texto entrecomillado hará que el PHP escriba en la página web  resultante lo contenido en esa cadena de texto.  Al final de cada instrucción debemos insertar siempre un punto y coma (;)  El (;) indicará a PHP que lo que viene a continuación es una nueva instrucción.  Para facilitar la depuración los scripts no suelen escribirse dos instrucciones en una misma línea.  print "un texto..";

  La  instrucción  print  tiene  una  función  similar  –no  es  exactamente  la  misma–  a  la  descrita  para  echo.    print ("un texto..");

  Esta  es  otra  posibilidad  –la  más  habitual–  de  utilizar  print.  Aquí  encerramos  entre  paréntesis  la  cadena  que  pretendemos  que  aparezca  impresa  en  la  página  web.  El  hecho  de  que  utilicemos  paréntesis no nos evita tener que encerrar la cadena (texto) a imprimir entre comillas.    Comillas dentro de comillas    Existen dos tipos de comillas: dobles « " » (SHIFT+2) y sencillas « ' » (tecla ? en minúsculas).  Cuando  es  preciso  anidar  comillas  deben  utilizarse  tipos  distintos  para  las  exteriores  y  para  las  interiores.  Para que una etiqueta echo interprete unas comillas como texto –y no como el final de la cadena–  es necesario anteponerles un signo de barra invertida(\).  En ningún caso –ni con echo ni con print– está permitido sustituir las comillas exteriores (las que  encierran la cadena) por \". Esta sintaxis solo es válida para indicar a PHP que debe interpretar las  comillas como un carácter más.    La primera página en PHP  Observemos  este  código  fuente.  Como  verás,  se  trata  de  una  página  web  muy  simple  que  no  contiene ningún script PHP. Hemos guardado esa página con el nombre ejemplo1.html y luego la  hemos vuelto a guardar –sin modificar nada en sus contenidos– como ejemplo1.php.    Aprendiendo PHP Esta es una página supersimple UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:4 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

Si visualizamos ambos ejemplos veremos que los resultados son idénticos.    Los primeros script PHP    Editemos  la  página  anterior  (ejemplo1.php)  y  añadámosle  nuestra  primera  etiqueta  PHP  guardándola como ejemplo2.php. Este sería el código fuente:    Aprendiendo PHP Esta es una página super simple

Veamos ahora un ejemplo con las diferentes opciones de uso de las comillas (ejemplo3.php):  Aprendiendo PHP

PRÁCTICA 1  Crea un subdirectorio en el LOCALHOST de tu servidor y ponle como nombre practicas. Escribe con  tu  editor  un  script  similar  al  ejemplo3.php  utilizando  print  y  print()  en  vez  de  echo.  Guarda  el  documento en la carpeta practicas con el nombre practica1.php y comprueba su funcionamiento.  Recuerda que para visualizarlo deberás escribir en tu navegador:  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:5 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

http://localhost/practicas/practica1.php    LÍNEAS DE COMENTARIO  ¿Por qué usar líneas de comentario?  A primera vista pueden parecer inútiles. ¿Para qué recargar las páginas con contenidos que no se  van a ver ni ejecutar?  Las líneas de comentario sirven para poder recordar en un futuro qué es lo que hemos hecho al  escribir un script y por qué razón lo hemos hecho así.  A medida que vayamos avanzando verás que en muchos casos tendremos que aplicar estrategias  individuales para resolver cada problema concreto.  Cuando necesites hacer una corrección o una modificación al cabo de un tiempo verás que confiar  en  la  memoria  no  es  una  buena  opción.  Es  mucho  mejor  utilizar  una  línea  de  comentario  que  confiar en la memoria.   Para  insertar  comentarios  en  los  scripts  de  PHP  podemos  optar  entre  varios  métodos  y  varias  posibilidades:  • Una sola línea  Basta colocar los símbolos // al comienzo de la línea o detrás del punto y coma que señala el final  de una instrucción. También se puede usar el símbolo # en cualquiera de las dos posiciones.  • Varias líneas  Si un comentario va a ocupar más de una línea podremos escribir /* al comienzo de la primera de  ellas y */ al final de la última. Las líneas intermedias no requieren de ningún tipo de marca.  Los  comentarios  para  los  que  usemos  la  forma  /*  ...  */  no  pueden  anidarse.  Si,  por  error,  lo  hiciéramos, PHP nos dará un mensaje de error.    Ensayando líneas de comentario (ejemplo4.php)    Ejemplo 4

Al ejecutarlo nos dará un error. Esto es una muestra, de la importancia que tiene el evitar anidar  los comentarios    En el ejemplo4a hemos quitado el /* que va delante de «comentarios» y el */ que va después de  «multilínea con estos» y funciona perfectamente.    Ejemplo 4a

 

PRÁCTICA 2  Escribe  un  script  en  el  que  se  utilicen  las  funciones  print,  print()  y  echo  añadiendo  –con  los  diferentes formatos– líneas de comentario que expliquen la sintaxis de cada una de las funciones.  Guárdalo como practica2.php en el directorio practicas y comprueba su funcionamiento.    CONSTANTES    Una constante es un valor –un número o una cadena– que no va a ser modificado a lo largo del  proceso de ejecución de los scripts que contiene un documento.  Para mayor comodidad, a cada uno de esos valores se le asigna un nombre, de modo que cuando  vaya a ser utilizado baste con escribir su nombre.  Cuando ponemos nombre a una constante se dice que definimos esa constante.  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:7 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

  ¿Cómo definir constantes?    En PHP las constantes se definen mediante la siguiente instrucción:   define("Nombre","Valor")

  Los  valores  asignados  a  las  constantes  se  mantienen  en  todo  el  documento,  incluso  cuando  son  invocadas desde una función.  No es necesario escribir entre comillas los valores de las constantes cuando se trata de constantes  numéricas.  Si  se  realizan  operaciones  aritméticas  con  constantes  tipo  cadena,  y  su  valor  comienza  por  una  letra, PHP les asigna valor cero.  Si  una  cadena  empieza  por  uno  o  varios  caracteres  numéricos,  al  tratar  de  operarla  aritméticamente PHP considerará únicamente el valor de los dígitos anteriores a la primera letra o  carácter no numérico.  El punto entre caracteres numéricos es considerado como separador de parte decimal.  Tal como puedes ver en el código fuente del ejemplo que tienes más adelante, es posible definir  constantes a las que se asigne como valor el resultado de una operación aritmética.    Mediante una sola instrucción echo se pueden presentar (en la ventana del navegador del cliente)  de forma simultánea varias cadenas de caracteres y/o constantes y variables. Basta con ponerlas  una a continuación de otra utilizando una coma como separador entre cada una de ellas.  La forma anterior no es la única –ni la más habitual– de enlazar elementos mediante la instrucción  echo.  Si  en  vez  de  utilizar  la  coma  usáramos  un  punto  (el  concatenador  de  cadenas)  conseguiríamos el mismo resultado.  Cuando enlacemos elementos distintos –cadenas, constantes y/o números– hemos de tener muy  en cuenta lo siguiente:  – Cada una de las sucesivas cadenas debe ir encerrada entre sus propias comillas.  – Los nombres de constantes nunca van entre comillas.    Las instrucciones print también permiten concatenar cadenas en una misma instrucción. En este  caso  solo  es  posible  usar  el  punto  como  elemento  de  unión.  Si  pusiéramos  comas  –como  hacíamos con echo– PHP nos daría un error.    Veamos un ejemplo de constantes (ejemplo5.php)  Constantes        Ahora veremos los mismos resultados usando la function prueba               

PRÁCTICA 3  Escribe  un  script  (guárdalo  como  practica3.php)  en  el  que  se  definan  dos  constantes,  una  numérica  y  otra  de  cadena  y  en  el  que  –mediante  la  las  opciones  print  y  echo–  aparezca  en  la  página  web  resultante  un  comentario  sobre  el  tipo  de  cada  una  de  ellas  seguido  de  su  valor.  Intenta conseguir que los elementos concatenados aparezcan en la presentación separados por un  espacio.     VARIABLES    Podríamos decir que es un espacio de la memoria RAM del ordenador que se reserva –a lo largo  del tiempo de ejecución de un script– para almacenar un determinado tipo de datos cuyos valores  son  susceptibles  de  ser  modificados  por  medio  de  las  instrucciones  contenidas  en  el  propio  programa.    Nombres de variables  En PHP todos los nombres de variable tienen que empezar por el símbolo $.  Las  nombres  de  las  variables  han  de  llevar  una  letra  inmediatamente  después  del  símbolo  $  – $pepe1  es  un  nombre  válido,  pero  $1pepe  no  es  un  nombre  válido–.  Para  PHP  las  letras  mayúsculas y las minúsculas son distintas. La variable $pepe es distinta de $Pepe.    Tipos de variables  En  PHP  no  es  necesario  definir  el  tipo  de  variable,  por  lo  tanto,  una  misma  variable  puede  contener  una  cadena  de  caracteres  en  un  momento  del  proceso  y,  posteriormente,  un  valor  numérico, susceptible de ser operado matemáticamente.    Definición de variables  PHP  no  requiere  una  definición  previa  de  las  variables.  Se  definen  en  el  momento  en  que  son  necesarias y para ello basta que se les asigne un valor.  La sintaxis es esta:  $variable=valor;  El  valor  puede  ser  una  cadena  (texto  o  texto  y  números  que  no  requieren  ser  operados  matemáticamente) o sólo un número. En el primero de los casos habría que escribir el valor entre  comillas.  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:10 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

  Ámbito de las variables  Los valores de una variable definida en cualquier parte de un script –siempre que no sea dentro de  una función– pueden ser utilizados desde cualquier otra parte de ese script, excepto desde dentro  de las funciones que contuviera el propio script o desde las que pudieran estar contenidas en un  fichero externo. Si una variable es definida dentro de una función sólo podrá ser utilizada dentro  de esa función.  Si en una función aludimos a una variable externa a ella PHP considerará esa llamada como si la  variable tuviera valor cero (en caso de ser tratada como número) o una cadena vacía ("" es una  cadena vacía).  Igual ocurriría si desde fuera de una función hiciéramos alusión a una variable definida en ella.  Si definimos dos variables con el mismo nombre, una dentro de una función y otra fuera, PHP las  considerará distintas. La función utilizará –cuando sea ejecutada– sus propios valores sin que sus  resultados modifiquen la variable externa.    Variables globales  Lo comentado anteriormente, admite algunas excepciones. Las funciones pueden utilizar valores  de  variables  externas  a  ellas  pero  ello  requiere  incluir  dentro  de  la  propia  función  la  siguiente  instrucción: global nombre de la variable;  Por ejemplo: global $a1;  En  una  instrucción  –global–  pueden  definirse  como  tales,  de  forma  simultánea,  varias  variables.  Basta con escribir los nombres de cada una de ellas separados por comas.  P. ej.: global $a1, $a2, $a3;    Variables superglobales  A  partir  de  la  versión  4.1.0  de  PHP  se  ha  creado  un  nuevo  tipo  de  variables  capaces  de  comportarse como globales sin necesidad de que se definan como tales.  Estas variables que no pueden ser creadas por usuario, recogen de forma automática información  muy específica y tienen nombres preasignados que no pueden modificarse.  Las estudiaremos un poco más adelante. Por ahora, sólo citar los nombres de algunas de ellas:  $_SERVER, $_POST, $_GET o $_ENV son los de las más importantes.    Ejemplo del uso de las variables y la forma de utilizarlas en los diferentes ámbitos (ejemplo6.php).    UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:11 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

  Vamos a ver el contenido de las variables

Invocando la variable desde una función Ver la variable desde la función poniendo global UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:12 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

  Un solo nombre y dos variables distintas Dentro de la función el valor de la variable es ... pero después de salir de la función vuelvo al valor original...



 

PRÁCTICA 4    Escribe un script (guárdalo como practica4.php) en el que una misma variable tome dos valores  distintos sin utilizar ninguna función. Luego añade al script una función que presente ese mismo  nombre de variable con un valor distinto de los anteriores, comprobando que esta última opción  no modificó el último valor de aquellos.    CONSTANTES PREDEFINIDAS    PHP dispone de algunas constantes predefinidas que no requieren la instrucción:  define("Nombre","Valor")

  Algunas de ellas son estas:   __FILE__  Recoge  el  nombre  del  fichero  que  se  está  ejecutando  y  la  ruta  completa  de  su  ubicación  en  el  servidor.  __LINE__  Recoge  el  número  de  línea  (incluidas  líneas  en  blanco)  del  fichero  PHP  cuyos  scripts  está  interpretando. Puede resultar muy útil para depurar programas escritos en PHP.  PHP_OS  Recoge  información  sobre  el  Sistema  Operativo  que  utiliza  el  servidor  en  el  que  se  está  interpretando el fichero.  PHP_VERSION  Recoge la versión de PHP que está siendo utilizada por el servidor.  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:13 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

  Un ejemplo con constantes predefinidas (ejemplo7.php)   

 

PRÁCTICA 5    Escribe un script (guárdalo como ejercicio5.php) que construya una pequeña página web en la que  aparezca el texto "Estás utilizando la versión: 5.2 de PHP" (incluidas las comillas y extrayendo el  número de versión de la constante predefinida correspondiente). Trata de que todas las etiquetas  HTML que utilices estén recogidas en variables PHP, de manera que no exista ninguna línea en el  código fuente de la página que esté fuera de las etiquetas     VARIABLES PREDEFINIDAS    Las tablas de valores  La información sobre variables y valores se puede extraer de la configuración del servidor.  Existen dos nombres de variable distintos que comparten el mismo valor.  Existen variables que comienzan por $_, y otras lo hacen por $HTTP y eso es algo muy importante.  En el primer caso se alude a las variables superglobales, mientras que las otras  variables no tienen  ese carácter.    Razones de la duplicidad  La duplicidad de variables se justifica por lo siguiente: Las variables superglobales se introdujeron  en  PHP  a  partir  de  la  versión  4.1.0  y  no  existían  con  anterioridad.  Con  muy  buen  criterio,  los  desarrolladores PHP optaron por mantener las variables predefinidas de las versiones anteriores  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:14 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

para evitar que los programadores que migraran sus aplicaciones a estas nuevas versiones de PHP  se vieran obligados a reescribir el código de sus scripts.  Ejemplo: las siguientes variables  devuelven en número de la IP a través de la que está accediendo  el usuario a nuestro servidor:    $_SERVER['REMOTE_ADDR']  y  $HTTP_SERVER_VARS['REMOTE_ADDR']    Aunque  los  valores  de  ambas  variables  van  a  ser  siempre  idénticos,  no  ocurre  lo  mismo  con  su  ámbito.  ¿Para  qué  sirven?  Estas  variables  recogen  información  muy  importante.  Esta    información  será  relativa a su configuración: nombre, rutas, nombres de páginas, IP del servidor, etcétera.    Los distintos tipos  Principalmente tenemos aquellas con valores de las variables de de entorno (ENV) y las de servidor  (SERVER), pero, además de ellas, existen algunas otras cuyos nombres y utilidades son:    Variables de sesión  Las identificaremos por los nombres $_SESSION o por $HTTP_SESSION_VARS.  Este tipo de variables las utilizaremos cuando hagamos mención al uso de sesiones.    Variables del método POST  Las  identificaremos  por  los  nombres  $HTTP_POST_VARS  o  por  $_POST.  Este  tipo  de  variables  – que  utilizaremos  con  frecuencia–  recogen  la  información  que  se  envía  desde  el  cliente  para  ser  utilizada por el servidor.    Variables del método GET  Las  identificaremos  por  los  nombres  $HTTP_GET_VARS  o  por  $_GET.  Son  muy  similares  a  las  anteriores.  La existencia de los dos tipos se justifica porque también existen dos tipos de métodos (maneras)  de enviar datos desde el cliente hasta el servidor.  Cuando el método de envío es el llamado GET los datos se recogen en variables de este tipo, y, por  el contrario, si ese método envío fuera POST se recogerían en aquellas.    Variables de transferencia de ficheros  Las identificaremos por el nombre $HTTP_FILES_VARS o por $_FILES.  Para  el  caso  de  transferencia  de  ficheros  desde  el  cliente  al  servidor  –«subir  ficheros»–  es  necesario  un  procedimiento  distinto  de  los  anteriores.  Será  en  este  caso  cuando  se  utilicen  variables de este tipo.    El tipo GLOBALS 

UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:15 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

A  diferencia  de  las  anteriores,  las  variables  de  este  tipo  disponen  de  una  sintaxis  única  – $GLOBALS– sin que quepa ninguna otra opción. Su finalidad es recoger en una tabla los nombres  de todas la variables establecidas como globales –en cada momento– así como sus valores.     OTRAS VARIABLES    Valores de las variables  Cuando  hablábamos  de  las  variables,  nos  referíamos  a  su  ámbito  y  comentábamos  que  las  variables  definidas  dentro  de  una  función  pierden  sus  valores  en  el  momento  en  el  que  abandonemos el ámbito de esa función, es decir, cuando finaliza su ejecución.  Decíamos también que si el ámbito en el que hubiera sido definida fuera externo a una función los  valores  sólo  se  perderían  –temporalmente–  mientras  durara  la  eventual  ejecución  de  las  instrucciones de aquella y que, una vez acabado ese proceso, volvían a recuperar sus valores.  Bajo estas condiciones, si invocáramos repetidamente la misma función obtendríamos cada vez el  mismo resultado.  Las  posibles  modificaciones  que  pudieran  haberse  efectuado  (a  través  de  las  instrucciones  contenidas  en  la  función)  en  el  valor  inicial  de  las  variables,  se  perderían  cada  vez  que  abandonáramos  la  función  con  lo  cual,  si  hiciéramos  llamadas  sucesivas,  se  repetirían  tanto  el  valor inicial como el resultado.    Variables estáticas  Para  poder  conservar  el  último  valor  de  una  variable  definida  dentro  de  una  función  basta  con  definirla  como  estática.  La  instrucción  que  permite  establecer  una  variable  como  estática  es  la  siguiente:    static nombre = valor;

P. ej: si la variable fuera $a y el valor inicial asignado fuera 3 escribiríamos: static $a=3;  La variable conservará el último de los valores que pudo habérsele asignado durante la ejecución  de la  función que la contiene. No retomará el valor inicial hasta que se actualice la página.    Variables de variables  Además del método habitual de asignación de nombres a las variables ‐poner el signo $ delante de  una  palabra‐,  existe  la  posibilidad  de  que  tomen  como  nombre  el  valor  de  otra  variable  previamente definida. La forma de hacerlo sería esta: $$nombre_variable_previa;   Veamos un ejemplo:  Supongamos que tenemos una variable como esta: $color="verde";  Si ahora queremos definir una  nueva variable que utilice como nombre el valor (verde) que está  contenido  en  la  variable  previa  ($color),  habríamos  de  poner  algo  como  esto:  $$color="es  horrible";  ¿Cómo podríamos visualizar el valor de esta nueva variable?  Habría tres formas de escribir la instrucción:  print $$color; o print ${$color}; o también print $verde;  Cualquiera de las instrucciones anteriores nos produciría la misma salida: es horrible.  UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:16 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

Podemos  preguntarnos  ¿cómo  se  justifica  que  existan  dos  sintaxis  tan  similares  como  $$color  y  ${$color}? ¿Qué pintan las llaves?.  La utilización de las llaves es una forma de evitar situaciones de interpretación confusa.  Supongamos que las variables tienen un nombre un poco más raro.  Por ejemplo que $color no se llama así sino $color[3] (podría ser que $color fuera un array –una  lista de colores– y que esta variable contuviera el tercero de ellos).  En  este  supuesto,  al  escribir:  print $$color[3]  cabría  la  duda  de  si el  número  3  pertenece (es un  índice) a la variable $color o si ese número corresponde a $$color.  Con print ${$color[3]} no habría lugar para esas dudas. Estaríamos aludiendo de forma inequívoca  a 3 como índice de la variable $color.  ¿Qué ocurre cuando la variable previa cambia de valor?  Cuando la variable utilizada para definir una variable de variable cambia de valor no se modifica ni  el nombre de esta última ni tampoco su valor.  Puedes ver este concepto, con un poco más de detalle, en el código fuente del ejemplo.    Ejemplo de Variables estáticas (ejemplo8.php) 

  Ejemplo de Variables de variables (ejemplo9.php) 

  TIPOS DE VARIABLES    En  PHP  no es  necesaria  una  definición  previa del  tipo  de variables.  Según  los  valores  que  se  les  vayan asignando, las variables podrán cambiar de tipo –de modo automático– y se irán adaptando  a los valores que contengan en cada momento.  Las variables en PHP pueden ser de tres tipos:  – Enteras (tipo Integer)  – De coma flotante (tipo Double)  – Cadenas (tipo String)  Cualquier  número  entero  cuyo  valor  esté  comprendido  entre  ±  231  será  interpretado  por  PHP  como  de  tipo  Integer.  Si  el  valor  de  una  variable  es  un  número  decimal  o  –siendo  entero–  desborda  el  intervalo  anterior,  bien  por  asignación  directa  o  como  resultado  de  una  operación  aritmética, PHP la convierte a tipo Double. Cualquier variable a la que se le asigne como valor el  contenido  de  una  cadena  de  caracteres  (letras  y/o  números  delimitados  por  comillas)  es  interpretada por PHP como tipo String.    UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:19 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

Determinación de tipos de variables  PHP dispone de la función: gettype(variable) que devuelve una cadena de caracteres indicando el  tipo de la variable que contiene. La cadena devuelta por esta función puede ser: Integer, double o  string.    Forzado de tipos  PHP permite forzar los tipos de las variables. Eso quiere decir que se puede obligar a PHP a asignar  un  tipo  determinado  a  una  variable  determinada,  siempre  que  los  valores  que  contenga  estén  dentro del rango del nuevo tipo de variable. Los tipos se pueden forzar tanto en el momento de  definir la variable como después de haber sido definida.    Forzado y asignación simultánea de valores  Al asignar un valor a una variable, se puede forzar su tipo de la siguiente forma. Si deseamos que  la variable pase a ser tipo de double basta con anteponer a su valor –entre paréntesis– tal como  se indica una de las expresiones: (double), (real) o (float).  Por ejemplo: $a=((double)45);  o  $a=((float)45);  o $a=((real)45); cualquiera de ellas produciría el  mismo efecto: convertir la variable $a a tipo Double.  Para forzar una variable a tipo Integer podemos anteponer a su valor una de estas expresiones:  (integer), o (int). Por ejemplo: $b=((integer)4.5); o $b=((int)45); producirían el mismo efecto:  convertir la variable $b a tipo Integer.  Para forzar una variable a tipo String basta con anteponer a su valor (entre paréntesis): (string).  Por ejemplo: $c=((string)4.5); convertiría la variable $c a tipo String.    Forzado de tipos en variables ya definidas  La  forma  más  aconsejable  de  forzado  de  tipos  en  variables  que  ya  estuvieran  definidas  previamente, es el uso de la siguiente instrucción: settype(var,tipo) donde var es el nombre de la  variable  cuyo  tipo  pretendemos  modificar  y  tipo  una  expresión  que  puede  contener  (entre  comillas)  uno  de  estos  valores:  'double',  'integer',  o  'string'  según  se  trate  de  forzar  a:  coma  flotante, entero, o cadena.  Un ejemplo podría ser este: settype($a,'integer') que convertiría a tipo entero la variable $a.  La ejecución de la instrucción settype devuelve (da como resultado) un valor que puede ser: true o  false (1 ó 0) según la conversión se haya realizado con éxito o no haya podido realizarse.    Operaciones con distintos tipos de variables  PHP permite la realización de operaciones aritméticas con cualquiera de los tres tipos de variables  y adecúa el resultado al tipo más apropiado.  En la tabla de la derecha puedes ver algunos ejemplos, pero, en resumen, ocurre lo siguiente:  –  Al  operar  con  dos  enteros,  si  el  resultado  está  dentro  del  rango  de  los  enteros,  devuelve  un  entero.  – Si al operar con dos enteros el resultado desborda el rango entero, convierte su valor, de forma  automática, al tipo coma flotante.  – Al operar un entero con una variable tipo coma flotante el resultado es de coma flotante. 

UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:20 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

– Al operar con una cadena lo hace como si se tratara de un entero. Si hay caracteres numéricos al  comienzo, los extrae (hasta que aparezca un punto o un carácter no numérico) y los opera como  un número entero.  – Si una cadena no comienza por un carácter numérico PHP la operará tomando su valor numérico  como CERO.    Tipos de variables  En el cuadro siguiente podemos ver los tres tipos de variables que utiliza PHP. 

  Determinación del tipo de variable utilizada  Dado que PHP gestiona las variables de forma automática y modifica los tipos de acuerdo con los  valores  que  va  tomando  durante  la  ejecución  del  script,  se  pude  recurrir  a  la  función  gettype(nombre de la variable) para determinar el tipo de la variable actual.  En la tabla siguiente tienes algunos ejemplos de aplicación de esa función.  Podemos observar –en la columna Sintaxis– que para visualizar el resultado anteponemos echo a  gettype. Es decir, le indicamos a PHP que muestre el resultado obtenido al determinar el tipo de  variable. 

 

Forzado de tipos 

UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:21 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

  Al  modificar  los  tipos  de  variables  pueden  modificarse  sus  valores.  Si  forzamos  a  entera  una  variable  que  contenga  un  número  decimal  se  perdería  la  parte  decimal  y  la  variable  modificada  solo contendría el valor de la parte entera.  Si tratamos de convertir a numérica una variable alfanumérica el nuevo valor sería cero.  Aquí tienes algunos ejemplos relacionados con la advertencia anterior. 

    Forzado de tipos usando settype()  Aquí tienes algunos ejemplos del uso de esa función. La tabla está organizada en bloques de tres  filas  que  corresponden  a  la  ejecución  de  tres  instrucciones  y  a  la  visualización  del  resultado  de  cada una de ellas.  El resultado de settype –primera fila– solo podrá ser 1 ó 0 según la instrucción se haya ejecutado  con éxito o no haya podido realizarse.  En la segunda fila comprobamos el nuevo tipo de variable obtenida mediante la ejecución de la  instrucción  anterior  y  en  la  tercera  visualizamos  los  nuevos  valores  de  la  variable,  que  pueden  haber cambiado como consecuencia del cambio de tipo.   

UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:22 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

 

    Tipos de variable de los operadores y de los resultados  La  tabla  siguiente  contiene  –en  cada  fila–  los  valores  asignados  a  dos  variables  (A  y  B)  y  el  resultado de la suma de ambas. A continuación se recogen los tipos de variable de cada una de  ellas y el del resultado. El tipo de este último –generado por PHP– estará condicionado por el valor  del resultado de cada una de las operaciones.   

UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:23 

2º R ‐ MÓDULO: IMPLANTACIÓN APLICACIONES WEB 

2011/2012 

 

 

 

UT7: INI. A LA PROG. DE DOCUMENTOS WEB UTILIZANDO LENGUAJES DE SCRIPT DE SERVIDOR 

   

 

Pagina:24 

U.T. 8 UTILIZANDO FORMULARIOS    1. PHP DINÁMICO    Lo que hemos visto hasta el momento, solo nos ha servido para escribir una serie de scripts PHP y  ver  los  resultados  de  su  ejecución,  pero  aún  no  hemos  visto  de  qué  forma  se  puede  lograr  que  interactúen el cliente y el servidor. Veamos cómo hacerlo.    Pasos previos  ¿Qué valor tiene register_globals en tu php.ini?  Si  se  encuentra  en  OFF  (comprobar  con  http://localhost/pruebaphp.php)  se  debe  modificar  esa  directiva dejándola como register_globals=ON y guardar los cambios.  Antes de hacer una modificación en php.ini ó en httpd.conf desactiva el servidor Apache. Cuando  hayas  acabado  con  los  cambios  vuelve  a  ponerlo  en  marcha  (de  lo  contrario  te  aparecerá  el  mensaje: no se puede encontrar el servidor) y ya arrancará atendiendo a la nueva configuración.     2. ENVÍO A TRAVÉS DEL NAVEGADOR    La forma más simple de que un cliente pueda enviar valores a un servidor es incluir esos valores  en la propia petición, insertándolos directamente en la barra de direcciones del navegador.    Forma de envío  Deberá  insertarse  –en  la  barra  de  direcciones  del  navegador–  lo  siguiente:  pagina.php?n1=v1&n2=v2 donde pagina.php será la dirección de la página que contiene el script  que ha de procesar los valores transferidos.  ? es un carácter obligatorio que indica que detrás de él van a ser insertados nombres de variables  y sus valores.  n1, n2, etcétera representan los nombres de las variables.  = es el separador de los nombres de las variables y sus valores respectivos.  v1, v2,... simbolizan el valor asignado a cada una de las variables.  & es el símbolo que separa los distintos bloques variable = valor.  Los nombres de las variables nunca llevan el signo $.  Los valores de las variables –sean números o cadenas– nunca se escriben entre comillas.  Algunos  caracteres  especiales  (&  por  ejemplo)  no  pueden  escribirse  directamente  dado  que  se  prestan a confusión (no sabría si es un valor de una variable o si se trata de el símbolo de unión.  En  esos  casos  es  necesario  sustituir  en  carácter  por  su  codificación  URL  que  representa  cada  carácter anteponiendo el signo % al valor de su código ASCII expresando en formato hexadecimal.  Se pueden incluir tantos nombre = valor como se desee. La única restricción es la longitud máxima  permitida  por  el  método  GET  (el  utilizado  en  este  caso)  que  se  sitúa  en  torno  a  los  2.000  caracteres.    Ejemplo10.php 

  La llamada debería hacerse de la forma:  http://localhost/practicas/ejemplo10.php?a=21&b=456    Recepción de datos  Cuando es recibida por el servidor la petición de un documento con extensión .php en la que tras  el  signo  ?  se  incluyen  una  o  varias  parejas  nombre  =  valor,  los  nombres  de  las  variables  y  sus  valores respectivos se incluyen, de forma automática, en variables predefinidas del tipo:  $HTTP_GET_VARS['n1']  $HTTP_GET_VARS['n2']  en las que n1, n2, ... coinciden exactamente con nombres asignados a cada una de las variables en  esa transferencia.  Cada  una  de  esas  variables  contendrá  como  valor  aquel  que  hubiera  recibido  a  través  de  la  petición.  Si  la  versión  de  PHP  es  superior  a  la  4.1.0,  esos  mismos  valores  se  incluirán  en  variables  superglobales  del  tipo  $_GET  de  modo  que  –en  el  supuesto  de  que  la  versión  lo  soporte–  los  valores de la petición también (esta opción no excluye la anterior) estarían disponibles en:  $_GET['n1']  $_GET['n2']  Según el modo en que esté configurado el php.ini podría caber una tercera posibilidad de registro  de  esos  valores.  Si  la  directiva  register_globals  –en  el  fichero  php.ini–  está  configurada  con  la  opción ON, los valores transferidos desde el navegador –además de ser recogidos en las variables  anteriores– son asignados a otras variables del tipo: $n1, $n2,... cuyos nombres son el resultado  de anteponer el símbolo $ a los nombres de las variables contenidas en la petición.  La elección a la hora de escribir los scripts de uno u otro tipo de variable debe hacerse teniendo en  cuenta que:  –  Esta  última  –sin  duda  la  más  cómoda–  tiene  el  problema  de  que  sólo  es  válida  cuando  register_globals=on y, además, es la más insegura de todas.  –  La  superglobal  $_GET  tiene  una  sintaxis  más  corta  que  su  alternativa  y,  además,  añade  como  ventaja su condición de superglobal, que permite utilizarla en cualquier ámbito sin necesidad de  declararla  expresamente  como  global.  Es  la  opción  del  futuro.  Su  único  inconveniente  es  que  puede no estar disponible en hostings que aún mantienen versiones antiguas de PHP.    Ejemplo11.php  U.T. 8 UTILIZANDO FORMULARIOS                Página: 2   

 

La llamada también deberá hacerse:  http://localhost/practicas/ejemplo11.php?a=21&b=456    Recuerda:  Los  nombres  de  variables  son  distintos  si  se  cambian  mayúsculas  y  minúsculas.  Pon  mucho  cuidado en escribirlos correctamente.  Los nombres de las variables predefinidas, tales como $HTTP_GET_VARS, $_GET, etcétera van en  mayúsculas.  No olvides poner punto y coma al final de cada línea de instrucciones.  Presta atención a la apertura/cierre de comillas y mucha más atención aún si se trata de comillas  anidadas. En este caso procura usar (") para las exteriores y (') para las interiores.  En  modo  local  puedes  establecer  las  configuraciones  de  php.ini  a  tu  antojo  y,  además,  estás  utilizando  una  versión  –5.2...–  de  PHP  que  permite  superglobales.  Esta  versión  –junto  con  la  posibilidad de modificar php.ini– te permite utilizar cualquiera de las opciones de transferencia de  variables.  Pero, si pretendes publicar tus páginas utilizando un hosting ajeno debes cerciorarte de cuál es su  versión  de  PHP  –no  todos  tienen  instaladas  versiones  superiores  a  4.1.0–  y  conocer  la  configuración de sus php.ini.  Ten en cuenta que allí no vas a poder modificar las configuraciones y de no tener en cuenta estos  aspectos, puedes verte obligado a modificar tu código fuente para adecuarlo a la configuración de  tu hosting.    3. ENVÍO A TRAVÉS DE FORMULARIOS    La interacción cliente–servidor que acabamos de ver, resulta incómoda en su uso y no demasiado  estética.  Hay una segunda opción –la de uso más frecuente– que es la utilización de formularios.  Los  formularios  no  son  elementos  propios  de  PHP  –actúan  del  lado  del  cliente–  y  su  estudio  es  más propio del ámbito de HTML que de PHP.    Ejemplo12.php  U.T. 8 UTILIZANDO FORMULARIOS   

 

 

 

 

 

 

 

 

Página: 3 

Escribe tu nombre: Escribe tu clave:

Elige tu color de coche favorito:

Rojo Verde Azul Elige los extras:

Aire acondicionado Tapiceria en piel Llantas de aluminio ¿Cuál es el precio máximo que estarías dispuesto a pagar?

Menos de 6.000 euros 6.001 - 8.000 euros 8.001 - 10.000 euros 10.001 - 12.000 euros 12.001 - 14.000 euros Más de 14.000 euros Escribe aquí cualquier otro comentario:
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF