jueves, 8 de enero de 2009

Manual de PHP 1: Páginas web dinámicas

Tipos de páginas web
Una sencilla clasificación de los tipos de páginas web podría ser ésta:
  • Páginas estáticas
  • Páginas dinámicas
Páginas estáticas
Diremos que una página es estática cuando sus contenidos no pueden ser modificados –ni desde el servidor que la aloja (ordenador remoto) ni tampoco desde el cliente (navegador)– mediante ninguna intervención del usuario ni tampoco a través de ningún programa.


Un ejemplo de página estática
Cualquier usuario que acceda a ésta -ya sea en modo local, o a través de un servidor remoto– visualizará siempre la misma fecha: 11 de julio de 2003.







<HTML>

<HEAD>

</HEAD>

<BODY>

Hoy es 11-7-2003 y son las 14:23:57 horas

</BODY>

</HTML>





Páginas 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.

Somos capaces de entender unas instrucciones escritas en castellano pero si estuvieran escritas en búlgaro las cosas seguramente serían bastante distintas, y, por supuesto, a un búlgaro le pasaría justamente lo contrario.

Igual ocurre con los programas intérpretes de los lenguajes de script. Ellos también requieren órdenes escritas en su propio idioma.

Un par de páginas dinámicas

La fecha que aparece en la página es la fecha actual de tu sistema, y además, cada vez que pulses el botón Actualizar de tu navegador podrás comprobar que se actualiza la hora.

Una intervención del usuario modifica los contenidos.



<HTML>

<HEAD>

<script language="JavaScript">

var ahora= new Date();

var fecha=ahora.getDate()+" - "+(ahora.getMonth()+1)+" - "+ahora.getYear();

var hora=ahora.getHours()+":"+ahora.getMinutes()+":"+ahora.getSeconds();

document.write('Hoy es '+fecha+' y son las '+hora+' horas');

</script>

</HEAD>

<BODY>

</BODY>

</HTML>

Cada 5 segundos (fíjate donde dice var frecuencia=5000. Cinco mil es el período de actualización, expresado en milisegundos) se reescribirán de forma automática la fecha y la hora.
Tenemos un cronómetro automático.

<HTML>

<HEAD>

<script language="JavaScript">

var reloj=0;

var frecuencia=5000;

function actualiza(){

var ahora= new Date();

var fecha=ahora.getDate()+" - "+(ahora.getMonth()+1)+" - "+ahora.getYear();

var hora=ahora.getHours()+":"+ahora.getMinutes()+":"+ahora.getSeconds();

var escribe='Hoy es '+fecha+' y son las '+hora+' horas';

var situa=document.getElementById('capa0');

situa.innerHTML=escribe;

reloj=setTimeout("actualiza()",frecuencia);

}

</script>

</HEAD>

<BODY onLoad="actualiza()";>

<div id="capa0">

</div>

</BODY>

</HTML>







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 <script> y señalando el final con una etiqueta de cierre </script>.


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 (<script>) se inserta una referencia al tipo de lenguaje con esta sintaxis:

language="nombre"

Por ejemplo:

<script language="PHP">

......

...... instrucciones ..

......

</script>

indicaría que las instrucciones están escritas con la sintaxis de PHP.

Por el contrario, en este otro supuesto:


<script language="JavaScript">

......

...... instrucciones ..

......

</script>

estaríamos señalando que en las instrucciones contenidas en el script se ha utilizado sintaxis de JavaScript.

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:

<?

......

......instrucciones..

......

?>

<? hará la misma función que

<script language="PHP"> y ?>

será equivalente a </script>.


Lenguajes

Hay múltiples posibilidades en cuanto a lenguajes de script. Pero antes de hacer mención a algunos de ellos es conveniente hacer una clasificación previa.

Los lenguajes de script pueden clasificarse en dos tipos:
• Del lado del cliente
• Del lado del servidor

Lenguajes del lado del cliente
Diremos que un lenguaje es del lado del cliente cuando el intérprete que ha de ejecutar sus scripts es accesible desde éste –el cliente–sin que sea necesario hacer ninguna petición al servidor.

Seguramente te ha ocurrido alguna vez que al intentar acceder a una página web ha aparecido un
mensaje diciendo que la correcta visualización de la página requiere un plugin determinado, y que, a la vez, se te haya ofrecido la posibilidad de descargarlo en ese momento.

Eso ocurre porque cuando el navegador –que en el caso de las páginas web es el cliente– trata de
interpretar la página encuentraincrustado en ella algo (un fichero de sonido, una animación Flash,
etcétera) que –de forma muy similar a lo que ocurre con los scripts– requiere un intérprete adecuado del que no dispone en ese momento.

Cuando los scripts contenidos en un documento son de este tipo, el servidor lo entrega al cliente sin efectuar ningún tipo de modificación.

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 ese 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 usarios 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.

Algunos lenguajes con nombre y apellidos

Sin pretender hacer una enumeración exhaustiva, los lenguajes de script más populares son los siguientes:

Del lado del cliente
• DHTML
• JavaScript
• VBScript

DHTML no es exactamente un lenguaje de programación. Se trata más bien de una serie de capacidades que se han ido añadiendo a los navegadores modernos mediante las cuales las páginas pueden contener hojas de estilo y/o organizarse en capas susceptibles de ser redimensionadas, modificadas, desplazadas y/o ocultadas.

JavaScript es uno de los lenguajes más populares. Cada navegador incluye su propio intérprete y
es frecuente que los resultados de visualización sean algo distintos según el navegador y la versión que se utilice.

Parece ser que las versiones más recientes de los distintos navegadores se aproximan a un estándar –ECMA Script-262– que ha sido desarrollado por la ECMA (Asociación Europea de Normalización de Sistemas de Información y Comunicación), lo que hace suponer que en un futuro muy próximo todos los navegadores se ajustarán a esa especificación y que, con ello, las páginas web ya se visualizarán de forma idéntica en todos ellos.

VBScript es un lenguaje de script derivado de VisualBasic y diseñado específicamente para los navegadores de Microsoft.

Del lado del servidor

Los más populares de este tipo son:
• PHP
• ASP
• Perl
• JSP
Cada uno de ellos tiene sus propias peculiaridades. Pero dado que aquí tratamos sobre PHP quizá
sea conveniente –a modo de recordatorio– hacer algunas precisiones sobre los requisitos imprescindibles para trabajar con este lenguaje.

Requisitos par el uso del lenguaje PHP
De acuerdo a lo comentado en los párrafos anteriores 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.
• 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.

En las páginas siguientes trataremos sobre la forma de realizar los procesos de instalación y configuración de estas aplicaciones.




Fuente:
Página del ifstic: http://www.isftic.mepsyd.es/formacion/enred/

1 comentario:

Anónimo dijo...

HOLA:
Siendo completamente neofito en este tema, me intereso porque pretendo aprender a ser un WEBMASTER AUTODIDACTA, gracias a blogger, y a este tipo de articulo que es muy claro y entendible.
Cordialmente,
Ramon G. C.
Bogota 16/05/2009