Vous êtes sur la page 1sur 137

Programación web PHP

Unidad 1. El sitio web

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 1. El sitio web

INTRODUCCIÓN
En Internet encontramos una gran variedad de tipos de sitios web, que se diferencian fundamentalmente por su contenido o
por el servicio que brindan. Un sitio web básico se puede diseñar utilizando HTML y CSS para crear su estructura y contenido.
Sin embargo, si queremos crear un sitio web más complejo y darle mayor flexibilidad, es necesaria la programación web.

La programación web tiene la misma importancia que el diseño web. Ambos se complementan para hacer que el sitio web sea
más eficiente y está demostrado que los sitios con más tráfico son los que nos brindan un servicio más “personalizado” al
usuario y eso se logra gracias a la programación web.

¿CONOCIMIENTOS PREVIOS
Antes de comenzar a estudiar esta unidad es recomendable tener:
• Conocimientos básicos de HTML.

AL FINALIZAR ESTA UNIDAD SABRÁS...

• Saber qué es un sitio web.

• Diferenciar entre un sitio web estático y otro dinámico.

• Valorar que lenguaje de script se adapta mejor a mis necesidades.

• Elegir qué tipo de sitio web necesito para montar un espacio en Internet.

2
Programación web PHP
Unidad 1. El sitio web

1. EL SITIO WEB

DEFINICIÓN

Un sitio web es un conjunto de páginas web que relaciona información común a través de enlaces que van
encadenando dichas páginas. Estás páginas están asociadas a un dominio y son parte del dominio principal
creándose subapartados. Todas esas páginas forman parte de la World Wide Web (WWW).

Un sitio web se adapta según el contenido que quiera mostrar. De esta forma existirán sitios web que muestre una información
muy básica, sin embargo, en otras existirá mayor interactividad que permita acceder a mas recursos. Así existen sitios como:

• Blogs: Donde se van mostrando información sobre un tema específico.

• Sitios webs de empresa: Donde se muestra información de actividad y datos de contacto de la empresa.

• Sitios personales: Se muestra información personal como puede ser un portafolio a modo de Curriculum Vitae.

• Gestores de contenido: Para la venta de productos, o para impartir cursos de formación.

El sitio web está creado con el lenguaje de marcas HTML, y permiten incluir imágenes, textos, vídeos, enlaces a otros sitios,
etc.. La URL de entrada al sitio web se conoce como portada o Land Page. Es muy importante un buen diseño y atracción en
esta primera página pues mantener al usuario en la primera página es síntoma de que querrá investigar más sobre lo que se
hace en ese sitio web. Cada uno de los enlaces que aparecen en las páginas se denominan hipervínculos.

Para acceder al sitio web es necesario contar con un navegador web, donde se incluirán la URL a la que queremos acceder.
Cabe destacar los siguientes navegadores que son los más usados:

3
Programación web PHP
Unidad 1. El sitio web

El porcentaje de uso de cada uno de los navegadores se muestra en el siguiente gráfico (Fuente: Google):

Según el grado de interactividad del sitio web podemos hacer la siguiente clasificación:

• Sitio web estático: Su diseño y contenido se crea con el lenguaje de marcas HTML y CSS, sin incluir programación.

• Sitio web dinámico: Además de utilizar HTML y CSS, incluyen programación que permite crear sitios web más flexibles.

DEFINICIÓN

URL es una sigla del idioma inglés correspondiente a Uniform Resource Locator (Localizador Uniforme de
Recursos). Se trata de la secuencia de caracteres que sigue un estándar y que permite denominar recursos
dentro del entorno de Internet para que puedan ser localizados.

4
Programación web PHP
Unidad 1. El sitio web

EJEMPLO

Un ejemplo de dirección de un sitio web podría ser:


• https://www.andaluciacompromisodigital.org/: Identifica el dominio para la página principal del sitio web.

• https://www.andaluciacompromisodigital.org/que-es-acd: Identifica un subapartado donde se acceda a la


sección de formación.

1.1. SITIO WEB ESTÁTICO


Cuando se accede a un sitio web estático se producen una serie de pasos que se muestran en la siguiente figura.

PASOS

1. Abrimos el navegador elegido ( Chrome, Firefox, etc. ).

2. Introducimos la URL elegida.

3. El navegador envía la URL al servidor que contiene dicha dirección.

4. El servidor encuentra la página solicitada, la devuelve al navegador que la interpreta y la muestra al usuario.

La información que devuelve el servidor es código HTML.

5
Programación web PHP
Unidad 1. El sitio web

RECUERDA

En el caso de los sitios web estáticos no existe ninguna programación en el lado del servidor, sino que sim-
plemente se localiza la página HTML y se envía al cliente.

EJEMPLO

Algunos ejemplos de sitios web estáticos pueden ser:

• Página personal que muestre el CV.

• Blog simple en el que se introducen directamente el código HTML para los artículos.

• Web informativa sobre una empresa, mostrando la información básica: localización, servicios, contacto, etc.

1.2. SITIO WEB DINÁMICO


Cuando se accede a un sitio web dinámico se producen una serie de pasos que se muestra en la siguiente figura.

6
Programación web PHP
Unidad 1. El sitio web

PASOS

1. Abrimos el navegador elegido (Chrome, Firefox, etc.)

2. Introducimos la URL elegida.

3. El navegador envía la URL al servidor que contiene dicha dirección.

4. El servidor detecta por la extensión de la página solicitada que se trata de una página dinámica y que tiene que interpretar.

5. El servidor interpreta el código de programación que está incluida en esa página.

6. Accedemos a la base de datos, si es necesario ( MySQL ).

7. Se devuelve el código interpretado al servidor que ya sólo contiene HTML.

8. Se envía ese código HTML al cliente.

9. El navegador muestra el HTML recibido.

¿SABÍAS QUE...?

Mysql es un gestor de base de datos libre que pemite trabajar con tablas cuya información se podrá mostrar
en la web a través de consultas. En la última unidad del curso veremos cómo acceder a dicha base de datos
con PHP.

PRESTA ATENCIÓN

Aunque la página solicitada al navegador contenga código de programación, al enviar la página de vuelta
al cliente ya sólo contendrá código HTML, es decir, el paso último es igual que en el caso de un sitio web
estático, el navegador recibe código HTML.

7
Programación web PHP
Unidad 1. El sitio web

1.3. VENTAJAS DE UN SITIO WEB DINÁMICO

Las ventajas de elaborar un sitio web dinámico respecto de un sitio web estático son:

• Mayor flexibiliad en cuanto al diseño, desarrollo y mantenimiento de las páginas Web.

• Acceso a base de datos que contiene la información que se mostrará en la página web final.

• Menor número de páginas web en el sitio, porque una misma página puede devolver diferentes resultados dependiendo de
los parámetros enviados.

• Facilidad para mantener la información actualizada simplemente cambiando valores en la base de datos, sin tener que
diseñar páginas nuevas.

• Separación del diseño y el contenido. Diferentes áreas de la empresa pueden participar en el mantenimiento de la Web. Por
ejemplo, el diseñador se puede encargar del aspecto de la web y otro departamento se puede encargar de dotar de contenido
a la base de datos.

• Mayor dinamismo en el sitio web.

• Reducción de costes de mantenimiento.

También existen inconvenientes como:

• Son necesarios unos requerimientos técnicos superiores pues se necesita un servidor que sepa interpretar el código PHP.

• Coste de alojamiento superiores, pues al contratar un hosting, es necesario que tenga la funcionalidad indicada
anteriormente.

• En ciertos casos y si la página que queremos diseñar es compleja existe un mayor coste de desarrollo.

8
Programación web PHP
Unidad 1. El sitio web

¿SABÍAS QUE...?

EXISTE UNA PAGINA WEB... TOTALMENTE EN BLANCO


Si, aunque parezca algo totalmente inventado y, a pesar, de no tener sentido alguno, podemos ver una pagi-
na web totalmente en blanco aquí (http://www.this-page-intentionally-left-blank.org/).
Según se indica en el proyecto, una de las razones es mantener vivo el recuerdo de las páginas en blanco de
los manuales impresos. Pero la razón principal es ofrecer un lugar de tranquilidad y sencillez en el enmara-
ñado mundo de Internet.

ACTIVIDAD

Crea en el foro un tema de debate para indicar alguna ventaja más que se te ocurra de un sitio web dinámi-
co frente a otro estático.

2. LENGUAJES SCRIPTS

Para que una página web sea dinámica es necesario el uso de scripts.

Un script está formado por una serie de instrucciones que diseñan un programa y que
puede ir incrustado dentro de una página HTML. Dichas instrucciones se interpretan
cuando se carga el documento y en el caso de los lenguajes de script del lado del servidor
convierte el resultado en código html que lo sabe interpretar el propio navegador.

Los script se pueden clasificar en dos grupos atendiendo al lugar de su ejecución:

• Del lado del cliente: Se ejecuta en el cliente, o sea en el propio navegador.

• Del lado del servidor: Se ejecuta en el servidor, y el resultado generado se devuelve en código HTML.

A continuación se muestra una plantilla típica en la que se observa código HTML, y como iría incustrado el script.

9
Programación web PHP
Unidad 1. El sitio web

PLANTILLA

<html>

<head>

<title>Ejemplo</title>

</head>

<body>

[ SCRIPT: Aquí iría incrustado el código del Script ]

</body>

</html>

UNA VENTANA AL MUNDO

Definición detallada de script


• https://es.wikipedia.org/wiki/Script

2.1. DEL LADO DEL CLIENTE


Los lenguajes scripts del lado del cliente se colocan en líneas de código que va a interpretar el propio navegador del cliente.
Por lo tanto el trabajo de interpretar ese código recae en el cliente. Este tipo de scripts suelen ser ligeros, para no cargar mucho
el cliente y evitar que la visualización de la página sea lenta y pesada.

Cuando necesitamos cálculos o comprobaciones más complejas es mejor derivar este trabajo al servidor y liberar esa carga al
cliente. Uno de los lenguajes script del lado del cliente más populares es Javascript, y un ejemplo se muestra a continuación:

10
Programación web PHP
Unidad 1. El sitio web

EJEMPLO

<html>

<head>

<title>Un documento con javascript</title>

<META http-equiv=”Content-Script-Type” content=”text/tcl”>

</head>

<body>

Esta página muestra un mensaje de prueba cuando se carga en el cliente.

<script type=”text/javascript”>

alert (“Un mensaje de prueba”)

</script>

</body>

</html>

11
Programación web PHP
Unidad 1. El sitio web

Entre las funcionalidades más comunes que se suelen incluir en códigos javascript, caben destacar los siguientes:

• Validar que un campo no está vacío.

• Validar que un campo contiene un valor numérico.

• Validar que un campo contiene un valor de fecha.

• Validar una dirección de email.

• Controlar eventos del ratón ( Al pasar por encima de una caja de texto, al entrar en la caja, etc. ).

• Etc.

¿SABÍAS QUE...?

Se puede habilitar o deshabilitar la ejecución de javascript en el navegador. En algunas situaciones puede


interesar que ciertas páginas que contienen código javascript no se ejecuten por temas de seguridad.
• http://enable-javascript.com/es/

HAZLO TÚ MISMO

Después de haber leído el enlace indicado anteriormente habilita y deshabilita javascript en el navegador
Mozilla Firefox, y observa el efecto en algunos sitios Web que frecuentas normalmente.

2.2. DEL LADO DEL SERVIDOR


A diferencia de los scripts del lado del cliente, los scripts del lado de servidor se ejecutan en el servidor, lo que asegura más
seguridad y liberación de recursos. En este caso el cliente será ligero y el servidor pesado, pues éste último es el que contiene
la programación. De igual forma también se reducen los errores y problemas de compatibilidad con los navegadores del
cliente.

Entre los lenguajes más populares se encuentra PHP, cuya programación es el objetivo del presente curso.

12
Programación web PHP
Unidad 1. El sitio web

Al igual que ocurre con los scripts de cliente, el código PHP se encuentra incrustado en el código HTML. El servidor será el
encargado de convertir el código php en html, para enviarlo al navegador y que el usuario lo visualice en su navegador.

Un ejemplo de código PHP se muestra a continuación:

EJEMPLO

<html>

<head>

<title>Un documento con script PHP</title>

<META http-equiv=”Content-Script-Type” content=”text/tcl”>

</head>

<body>

<?php

echo “¡Hola, soy un script de PHP!”;

?>

</body>

</html>

13
Programación web PHP
Unidad 1. El sitio web

Entre las funcionalidades más comunes que se suelen incluir en códigos javascript, caben destacar los siguientes:

• Acceso a base de datos.

• Acceder a la información enviada por los formularios y realizar acciones diferentes según esos valores.

• Contador de visitas.

• Subir ficheros al servidor.

• Etc.

NOTA

Además de PHP y de Javascript existen otros lenguajes del lado del servidor y del cliente. A modo de ejemplo
se indican algunos:

• Cliente: Vbscript, Applets java.

• Servidor: Asp, Jsp, Ruby.

HAZLO TÚ MISMO

Investiga por internet otros lenguajes de Script, tanto de cliente como de servidor, que no se hayan indicado
en el tema.

14
Programación web PHP
Unidad 1. El sitio web

3. ¿QUÉ TIPO DE SITIO NECESITO?


Llegados a este punto y conociendo las características de un sitio web estático y
dinámico, se nos plantea la duda de que tipo de sitio elegir. A continuación se muestran
algunas pautas que pueden ayudar a esa elección:

• Si su empresa lo único que necesita es un sitio web simple sin muchos requerimientos
donde lo único que se quiere mostrar son los datos de la empresa, sus servicios,
datos de contacto y poco más, la mejor opción es una web estática. En conjunto con
otras aplicaciones puede llegar a tener un aspecto elegante, vistoso y funcional,
y son capaces de cubrir las expectativas mostradas. Este tipo de web se utilizan
cuando la información no va a ser muy cambiante y no es necesario acceder para
estar contínuamente cambiándola.

• Por otra parte, si lo que necesita es un sitio web, cuya información va a estar continuamente cambiando y quiere mostrar
datos que son suministrados por fuentes externas como ventas, pagos, estadísticas, etc. de sus clientes entonces la opción
perfecta es una web dinámica

HAZLO TÚ MISMO

Investiga por Internet e indica 2 ejemplos de sitios web estáticos y dinámicos

15
Programación web PHP
Unidad 1. El sitio web

RESUMEN
• Un sitio web está formado por un conjunto de páginas que muestran información común a través de textos, imágenes,
vídeos, enlaces a otras páginas, etc.

• Según las características de esa información (más o menos compleja, mayor o menor actualización, acceso o no a base de
datos), los sitios web se pueden clasificar en estáticos y dinámicos.

• El dinamismo se realiza a través de scripts que pueden ser del lado del cliente o del servidor, según el lugar donde se
ejecuten.

• Según nuestras necesidades será más conveniente utilizar un sitio web u otro.

En esta unidad se han detallado las diferencias entre webs estáticas y dinámicas. En la próxima unidad estudiaremos el
entorno de trabajo.

16
Programación web PHP
Unidad 2. El entorno de trabajo

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 2. El entorno de trabajo

INTRODUCCIÓN
Antes de empezar a programar en PHP es necesario conocer los elementos tanto software como hardware necesarios para
poder llevar a cabo esa programación. PHP (acrónimo recursivo de PHP: Hypertext Preprocessor).

Como ya se ha indicado en el tema anterior, los scripts PHP se van a interpretar en el lado del servidor. Para ello es necesario
que dicho servidor disponga de los recursos necesarios para poder realizar esa interpretación.

En esta unidad se enumeran dichos requisitos, mostrando las diferentes opciones que tenemos para poder desarrollar nuestro
programa.

CONOCIMIENTOS PREVIOS

Antes de comenzar a estudiar esta unidad es recomendable conocer:

• Los conceptos estudiados en la primera unidad.

• Conocimientos básicos de HTML.

• Como descargar e instalar software en el ordenador.

• EL acceso a carpetas del ordenador a través del administrador de archivos.

AL FINALIZAR ESTA UNIDAD SABRÁS...


• Instalar el software necesario para poder programar en PHP.

• Ubicar las carpetas necesarias para programar en local.

• Configurar el software utilizado para que se adapte a nuestras necesidades.

• Conocer los principales editores para programar en PHP.

• Usar un programa para la transferencia de archivos.

• Elegir el hosting adecuado y subir las páginas PHP a Internet.

18
Programación web PHP
Unidad 2. El entorno de trabajo

1. EL ENTORNO DE TRABAJO
El entorno de trabajo va a proporcionar los recursos necesarios para la programación en PHP. En este caso y como el servidor
es el encargado de interpretar las peticiones realizadas por el cliente, debemos de disponer de los siguientes elementos:

• Sistema operativo ( en el curso nos vamos a centrar en el Sistema operativo Windows ).

• Servidor web.

• Módulo de interpretación de PHP.

• Servidor de base de datos.

Cada uno de los elementos citados anteriormente tiene una función definida y la interacción entre ellos permitirá que cuando
el cliente solicite una página php, obtenga el resultado solicitado como una página HTML.

En este apartado de la unidad, se facilita al lector los conocimientos necesarios para poder descargar e instalar el software
necesario para empezar a programar en PHP. Para ello se indicarán los pasos necesarios a seguir, así como las direcciones
Web donde se obtienen dichos recursos.

DEFINICIONES

• Sistema operativo: Es el conjunto de programas informáticos que permite la administración óptima de los
recursos de un ordenador.

• Servidor web: Es el encargado de proporcionar las páginas web que solicita un determinado cliente desde
el navegador.

• Módulo de interpretación de PHP: Módulo encargado de interpretar los scripts que están incrustados en
el código HTML.

• Servidor de Base de datos: Encargado de devolver el resultado de las consultas solicitadas por las páginas
PHP, accediendo a una base de datos.

19
Programación web PHP
Unidad 2. El entorno de trabajo

HAZLO TÚ MISMO

En la unidad vamos a estudiar MySql como gestor de base de datos. Investiga por internet otro tipo de gestor
de Bases de datos que sea gratuita.

1.1. WAMPSERVER
El software indicado en el apartado anterior para la programación en PHP, se puede instalar
en el servidor de manera separada. Sin embargo existe un paquete único donde nos podemos
descargar el servidor Web, el módulo para PHP y la base de datos, con sólo instalar dicho
paquete.

Ese recurso se llama WampServer, y su instalación es para el sistema operativo Windows.


Habría que acceder a la dirección web: http://www.wampserver.com/en/, descargar el paquete
que contiene todo el software necesario, e instalarlo.

WAMP es el acrónimo para instalaciones Apache, MySQL, PHP sobre la plataforma Windows que permite la publicación de
páginas dinámicas sobre la web y consta del siguiente Software:

• Apache como servidor web.

• Módulo de PHP para Apache.

• MySQL como servidor web.

• PhpmyAdmin como aplicación web para poder acceder a la base de datos.

Se disponen de las versiones de 32 o 64 bit´s, según el sistema operativo del que se disponga. Si tienes dudas, lo mejor es
descargarnos el de 32 bit´s que funciona en ambos sistemas.

En el apartado 1.1.4 se muestra un videotutorial con los pasos necesarios para descargar e instalar este software.

20
Programación web PHP
Unidad 2. El entorno de trabajo

UNA VENTANA AL MUNDO

Página de descarga del Paquete WampServer: http://www.wampserver.com/en/

1.1.1. APACHE

Apache es el servidor web con el que vamos a trabajar en este curso. Un servidor web es el
software encargado de responder a las peticiones de los clientes a través de las solicitudes que
realizan con el navegador utilizado.

Apache es uno de los servidores más populares, debido entre otras cosas a que:

• Es un software de alta calidad.

• Es de código abierto (Open source).

• Es uno de los mayores éxitos del software libre.

• Tiene una alta capacidad de modulación en su código fuente.

El servidor web Apache es un serio competidor del Servidor Web de Microsoft (IIS: Internet Information Server), debido a su
estabilidad y facilidad de acceso.

21
Programación web PHP
Unidad 2. El entorno de trabajo

DEFINICIÓN

Open Source: Software que está licenciado de tal manera que los usuarios pueden estudiar, modificar y
mejorar su diseño mediante la disponibilidad de su código fuente y puede descargarse de forma gratuita
desde Internet.

¿SABÍAS QUE...?

Apache es el servidor web más popular de Internet, hasta llegar a la actual cota de un 68% de los servidores
web frente un 31% sobre IIS.

(Fuente: http://news.netcraft.com)

1.1.2. PHP

PHP es el lenguaje script del lado de servidor con el que vamos a trabajar en este curso.
Para que el servidor sepa interpretar este lenguaje es necesario que esté instalado el
módulo correspondiente.

PHP proporciona una gran facilidad para poder acceder a recursos del servidor como
ficheros, bases de datos, etc. Es muy fácil conectar con una base de datos del tipo
MySql.

Al igual que el Servidor Web Apache, PHP es openSource.

La última versión de PHP es la 5.6.12 y toda la información acerca de su instalación independiente, funcionamiento y
configuración se puede encontrar en la siguiente dirección: http://php.net/

22
Programación web PHP
Unidad 2. El entorno de trabajo

DEFINICIÓN

Código embebido: Cuando se colocan secciones de código de programación (como PHP) dentro de una
página HTML, estamos hablando de código embebido.

HAZLO TÚ MISMO

Investiga por Internet los motivos por los cuales PHP es uno de los lenguajes de script más utilizados en el
lado del servidor.

1.1.3. MYSQL
MySQL es el Sistema de Gestión de Bases de datos (SGBD), que forma parte del paquete WAMP,
y que se adapta perfectamente a sitios web dinámicos diseñados en un entorno Apache con PHP.

Sus principales características son la robustez, velocidad y continua mejora de su funcionamiento.


Es un SGBD rápido y sencillo que para la mayoría de sitios Web dinámicos de tamaño medio es
más que suficiente. En la documentación se habla de su uso con bases de datos de 50 millones de registros.

MySQL al igual que los otros dos componentes de WAMP se encuentra en fase de desarrollo y se publican con regularidad
nuevas versiones y nuevas características. Caben destacar las siguientes:

• Dispositivo JDBC para acceder desde Java.

• Dispositivo ODBC para acceder utilizando la API ODBC.

• API de programación para C, Perl, C++, Python y TCL.

• Acceso desde PHP.

• Entornos visuales de gestión de la base de datos.

• Control de acceso basado en una base de datos de administración.

• Etc.

23
Programación web PHP
Unidad 2. El entorno de trabajo

PRESTA ATENCIÓN

Junto con el paquete WAMP, se instala un software web denominado PhpMyadmin que permite acceder a
la base de datos instalada en el sistema. En la última unidad del curso se entrará en detalle sobre cómo
funciona este programa.

1.1.4. INSTALACIÓN DE WAMPSERVER

La instalación del paquete WampServer es muy fácil. Simplemente hay que seguir los pasos que se indican en el asistente
mostrado. Cuando finaliza dicho asistente tendremos todo el software necesario para empezar a programar en PHP.

Una vez que está todo instalado se coloca en la barra de tareas un icono que representa el servicio WampServer. Para que
todos los servicios se arranquen es necesario acceder a ese icono y activarlos. El icono representado y las opciones que
presenta son las siguientes:

Los servicios de Apache, Php y MySql no están arrancados y por lo tanto no se van a visualizar las páginas
que estemos diseñando.

Los servicios de Apache, Php y MySql si están arrancados y por lo tanto si se van a visualizar las páginas
que estemos diseñando.

Para arrancar los servicios cuando el icono aparece de color magenta es hacer click sobre dicho icono y aparecerán las
siguientes opciones:

24
Programación web PHP
Unidad 2. El entorno de trabajo

Para arrancar los servicios cuando el icono aparece de color magenta es hacer click sobre dicho icono. Desde esta ventana
se puede acceder a diferentes opciones:

1. Acceder a localhost, como la primera página de acceso al sitio web.


2. Acceder a phpMyAdmin para gestionar Base de datos.
3. Acceder directamente al subdirectorio www, donde estoy construyento mis
sitios web.
4. Arrancar y configurar Apache
5. Arrancar y configurar PHP
6. Arrancar y configruar MySQL
7. Arrancar todos los servicios a la vez
8. Parar todos los servicios a la vez
9. Reiniciar todos los servicios a la vez.
10. Desactivar el sitio

Para que se pueda visualizar correctamente la página PHP, cómo mínimo debe
de estar arrancado el servicio Apache y PHP.

¿SABÍAS QUE…?

Que la dirección Ip 127.0.0.1 corresponde a http://localhost. Te animo a que coloques ambas url en el nave-
gador y verás que obtendrás el mismo resultado.

1.1.5. ESTRUCTURA DE DIRECTORIOS


Una vez que se ha descargardo el paquete WampServer y se ha instalado en local, se creará una estructura de directorios que
van a formar parte de nuestro sitio web.

Las carpetas que se crean son las siguientes:

• C:\wamp · Por defecto el paquete WampServer se instala en este subdirectorio.

• C:\wamp\www · En este subdirectorio es donde se van a ir colocando las páginas html, php que van a formar nuestro
sitio Web. Lo habitual es crear un subdirectorio dentro de esta carpeta para ir diferenciando los diferentes sitios web que
se vayan desarrollando. De esta forma si nuestro sitio web se llama biblioteca, lo conviente sería crear la siguiente carpeta
c:\wamp\www\biblioteca y dentro ir creando todos los archivos necesarios.

25
Programación web PHP
Unidad 2. El entorno de trabajo

• Subdirectorios de trabajo · Una vez dentro de la carpeta de nuestro sitio web ( por ejemplo c:\wamp\www\biblioteca ), es
conveniente ir creando carpetas según el contenido. Así es interesante crear carpetas como:

»» Imágenes

»» Estilos

»» Recursos

»» Ficheros

»» Extras

»» Etc

En el raíz del subdirectorio se suele colocar el fichero index.html o index.php que sería la página de inicio al sitio web.

Una vez que está instalado el paquete Wamp y todo ha ido bien, si colocamos en el navegador la dirección http://localhost se
debe obtener una imagen similar a la siguiente:

26
Programación web PHP
Unidad 2. El entorno de trabajo

PRESTA ATENCIÓN

Existe una relación entre la dirección url que colocamos en el navegador y los subdirectorios locales que
tenemos ubicados en c:\wamp\www. En la siguiente tabla se muestran algunos ejemplos.

URL Subdirectorio asociado


http://localhost/biblioteca c:\wamp\www\biblioteca
http://localhost c:\wamp\www
http://localhost/biblioteca/formulario.php c:\wamp\www\biblioteca\formulario.php

1.2. FICHEROS DE CONFIGURACIÓN

La instalación de los servicios de Apache, PHP y MySQL a través del paquete Wamp es de
suma facilidad a través del asistente indicado. Sin embargo, estos servicios se configuran
con los parámetros por defecto más comunes para que el sistema empiece a funcionar.

En ocasiones es necesario cambiar ciertos parámetros de estos servicios para poder


adaptarlos a alguna necesidad en concreto de nuestro sistema. Para ello existen unos
ficheros de configuración que permiten modificar los parámetros de los servicios instalados.

En concreto vamos a estudiar los siguientes ficheros de configuración:

• php.ini: Fichero de configuración de PHP.

• httpd:conf: Fichero de configuración de Apache.

PRESTA ATENCIÓN

A través del menú de configuración de Wamp se puede acceder a los ficheros de configuración indicados
anteriormente. Es MUY IMPORTANTE, que cada vez que se haga un cambio en alguno de esos ficheros los
servicios se tengan que reiniciar, para que surjan efecto.

27
Programación web PHP
Unidad 2. El entorno de trabajo

1.2.1. PHP.INI
La ubicación de este fichero suele ser:

• C:\wamp\bin\apache\apache2.4.9\bin\php.ini

Sin embargo, puede variar según la instalación realizada. Dentro del fichero de configuración php.ini se describen, entre otras
cosas:

• Las extensiones de PHP que se deben activar.

• Las rutas para la subida de ficheros mediante protocolo POST.

• Los tiempos de ejecución de ficheros PHP.

• El uso de la memoria RAM.

• Etc.

A continuación se detallan algunas variables cuyo valor se puede cambiar en este fichero:

VARIABLE DESCRIPCIÓN

El código php se delimita con las llaves <?php y ?>. Si queremos que las llaves sean
short_open_tag = Off
cortas ( <? y ?> ), está opción se tendría que poner en On.
Tiempo máximo que se permite que dure un script php, expresado en segundos. Se
Emax_execution_time = 30
podría subir este valor camibando el número que viene por defecto.
Tamaño máximo permitido para la subida de ficheros. Si necesitamos subir ficheros
post_max_size = 8M
de mayor tamaño al servidor habría que cambiar este valor.
memory_limit = 128M Máxima memoria que puede utilizar el script en el servidor
Se muestran los errores en la propia página PHP. Cuando se está desarrollando es
error_reporting = E_ALL
interesante tener activa esta opción para ver los fallos que se van generando.

UNA VENTANA AL MUNDO

Para una lista completa de todas las opciones de las que se disponen en este fichero podemos acceder a la
siguiente dirección web:

• http://php.net/manual/es/ini.core.php

28
Programación web PHP
Unidad 2. El entorno de trabajo

1.2.2. HTTPD.CONF
La ubicación de este fichero suele ser:

• C:\wamp\bin\apache\apache2.4.9\conf

Sin embargo, puede variar según la instalación realizada.

El fichero de configuración de Apache (httpd.conf) contiene los parámetros para el inicio del servicio Apache. Como ya se ha
comentado Apache es el servidor que permite que se puedan consultar páginas web desde el cliente.

Las peticiones que le llegan al servidor web Apache son escuchadas por un determinado servicio y también a través de un
puerto, que es la puerta de entrada de dichas peticiones al servidor. Los servidores tienen abiertos numerosos puertos y cada
uno de ellos cumplen una función. Normalmente el puerto 80 es el encargado de escuchar las peticiones Web, aunque como
ya veremos se puede cambiar.

El cambio de dicho puerto puede venir dado porque exista otra programa que lo necesite, como por ejemplo Skype.

Existen ciertos parámetros que se pueden cambiar en este fichero, y cambian el funcionamiento del servidor. Caben destacar
los siguientes:

VARIABLE DESCRIPCIÓN

Listen Permite cambiar el puerto de escucha del servidor Apache.


Permite cambiar la carpeta de ubicación de los documentos Web. Por defecto es c:/
DocumentRoot
wamp/www, pero se podría cambiar.
Permite establecer el nivel de log que se quiere registrar para ir mostrando los
LogLevel warn
errores del servidor.
AddType application Indica que aplicación debe de abrir el fichero que se solicita.

PRESTA ATENCIÓN

En ocasiones es una buena solución enlazar el servicio web Apache a un puerto alternativo, como por
ejemplo el 8080. En este caso cuando se soliciten páginas al servidor web se tendrá que indicar el puerto
asociado de la siguiente manera.
• http://17.0.0.1:8080

29
Programación web PHP
Unidad 2. El entorno de trabajo

UNA VENTANA AL MUNDO


Para una lista completa de todas las opciones de las que se disponen en este fichero podemos acceder a la
siguiente dirección web:

• http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-apache-config.html

2. DESARROLLO EN LOCAL
Con el software que compone el paquete WAMP (Apache, Php, MySQL), y que se ha detallado en los apartados anteriores,
disponemos de los recursos necesarios para el desarrollo de páginas web dinámicas.

Hay que hacer constar que la instalación del paquete WAMP se realiza en local, o sea en nuestro propio ordenador. Para ello
hay que disponer de una máquina con los recursos suficientes para que ese software funcione de manera correcta y fluida.

Todas las pruebas, diseños, acceso a base de datos se harán en local. Por lo tanto no se va a poder acceder desde Internet o
desde una acceso externo a las páginas que estemos diseñando en ese momento.

La forma de trabajar en el desarrollo web sería la siguiente:

• Análisis y creación de las páginas a desarrollar en local.

• Análisis y creación de la base de datos a crear ( si es necesaria ) en local.

• Subir todos los ficheros que componen las páginas php y la base de datos a un hosting remoto.

Como se indica, primero se hace todo el estudio y programación en local. Cuando ya está todo analizado y se ha comprobado
que el sitio web funciona perfectamente se sube al hosting, para que el sitio Web sea visible desde Internet.

DEFINICIÓN

Entorno de desarrollo: Entorno local donde se realizan las pruebas necesarias del software, hasta conseguir
el objetivo buscado.
Entorno de producción: Entorno público donde el usuario puede acceder al producto ya operativo.

30
Programación web PHP
Unidad 2. El entorno de trabajo

ACTIVIDAD

Crear un tema de debate en el foro para comentar porque no es conveniente trabajar directamente en los
ficheros en remoto.

3. EDITORES DE CÓDIGO
Los editores de código facilitan la labor de programación en cualquier lenguaje, y en el caso que nos ocupa en este curso, en
PHP. Un buen editor puede hacer nuestro trabajo más eficiente, pues suele tener funciones especiales que nos ayuda a codificar
ciertas tareas que son repetitivas.

También es muy común que las palabras reservadas aparezcan en otro color, e incluso el sangrado de las líneas de código
que permiten diferenciar bloques dentro de un mismo programa.

Las opciones a la hora de elegir el compañero optimo para programar son muy variadas, y en muchos casos están optimizadas
para diferentes tipos de proyectos o lenguajes.

A modo de ejemplo se muestra una lista de diferentes editores que pueden ser usados para la programación en PHP, y la
dirección web donde se pueden descargar el sofware y manuales sobre su funcionamiento.

PROGRAMA URL DE DESCARGA

Notepad ++ https://notepad-plus-plus.org/
Sublime Text http://www.sublimetext.com/
Light Table http://lighttable.com/
Vim http://vim-latex.sourceforge.net/
Brackets http://brackets.io/
Geany http://www.geany.org/
GNU Emacs https://www.gnu.org/software/emacs/

HAZLO TÚ MISMO

Descarga el editor Notepad ++ e instálalo en tu ordenador. Localiza el manual de usuario y practica las
principales funcionales de este editor.

31
Programación web PHP
Unidad 2. El entorno de trabajo

4. ELECCIÓN DEL HOSTING


Cuando ya queremos publicar nuestro sitio web, debemos de elegir a que hosting
subirlo. Para ello hay que tener en cuenta una serie de cuestiones, pues de ello
depende de que nuestro desarrollo funcione de igual manera a como lo hace en
local.

Entre las características a tener en cuenta caben destacar las siguientes:

• Disco duro: Cantidad de espacio que vamos a poder usar en el hosting para el
número de páginas, imágenes, ficheros, vídeos, etc.

• Transferencia de datos: La cantidad de información que en un mes se puede hacer en mi sitio Web.

• Número de dominios: Hay alojamientos que sólo permite un dominio.

• Copias de seguridad: Es importante que tu proveedor de hosting haga copias de seguridad o backups periódicos de tu
cuenta.

• Protección antihackeos: Siempre viene bien tener una protección extra contra posibles ataques.

• Soporte PHP: Importante que interprete el código PHP y sobre todo que esté actualizada a la última versión.

• Base de datos: Es necesario que se puedan crear bases de datos de tipo MySQL, y qué numero de ellas. Es frecuente tener
varias aplicaciones php desarrolladas y que cada una de ellas necesite su propia Base de datos.

Existen en internet la posibilidad de acceder a hosting gratuitos. Este tipo de hosting para pruebas puntuales pueden ser
interesante, pero para mantener un sitio web fiable y a prueba de posibles fallos es conveniente acceder a hosting de pago.
Existen hosting compartidos que económicamente son muy interesantes, porque al compartir recursos se comparte también
el coste de su mantenimiento.

EJEMPLO

Algunos ejemplos de hosting son:


• Hostinger: http://www.hostinger.es/

• Webempresa: http://www.webempresa.com/

• Dinahosting: https://dinahosting.com/

32
Programación web PHP
Unidad 2. El entorno de trabajo

HAZLO TÚ MISMO

Investiga por internet cual es el plan más económico que ofrece la empresa Dinahosting y que servicios
ofrece.

4.1. SUBIR AL HOSTING


Un sitio web está formado por un conjunto de carpetas entre las que caben destacar las siguientes:

• Carpeta de imágenes.
• Carpeta de ficheros html.
• Carpeta de ficheros php.
• Carpeta de ficheros de estilos.
• Etc.

Junto a esas carpetas, si se trabaja con bases de datos también se tiene en local la
estructura y los datos de las tablas necesarias para el programa desarrollado. Cuando
se está trabajando en local, contamos con toda esta información. A la hora de trasladar este sitio Web a un entorno de
producción, o sea, visible en la web, se debe trasladar toda esa información al hosting de destino.

Para subir todas esas carpetas al hosting se utilizan aplicaciones de transferencias de ficheros. Uno de los más populares es
Filezilla, y permite conectarse al hosting remoto y subir los ficheros necesarios a ese servidor.

En la siguiente imagen se muestra el aspecto visual de este programa. Para conectarse al servidor remoto simplemente
es necesario un usuario y una contraseña que permite acceder a dicho servidor. Esta información nos la suministrará el
administrador donde tengamos nuestro hosting.

UNA VENTANA AL MUNDO

El software Filezilla así como un completo manual de como utilizar este programa se puede encontrar en la
siguiente dirección:
• https://filezilla-project.org/

33
Programación web PHP
Unidad 2. El entorno de trabajo

En la siguiente imagen se muestran las partes que componen este software.

1. “Gestor de sitios”: En este botón se pueden dar de alta diferentes


sitios FTP.
2. “Registro de mensajes”: Se muestra todo lo que se va realizando
con el FTP, a base de comandos.
3. “Árbol del directorio local”: Estructura de los subdirectorios que
se tiene en local.
4. “Contenido del directorio local”: Contenido del subdirectorio
local que se ha seleccionado en el punto 3.
5. “Árbol del directorio remoto”: Estructura de los subdirectorios
que se tiene en local.
6. “Contenido del directorio remoto”: Contenido del subdirectorio
local que se ha seleccionado en el punto 3.
7. “Cola de transferencia”: Se muestran los ficheros que se han
subido, bajado o permanecen en cola.

DEFINICIÓN

El alojamiento web (en inglés web hosting) es el servicio que provee a los usuarios de Internet un sistema
para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía Web. Es una analo-
gía de hospedaje o alojamiento en hoteles o habitaciones donde uno ocupa un lugar específico, en este caso
la analogía alojamiento web o alojamiento de páginas web, se refiere al lugar que ocupa una página web,
sitio web, sistema, correo electrónico, archivos etc. en Internet o más específicamente en un servidor que por
lo general hospeda varias aplicaciones o páginas web.

Fuente: Wikipedia.

34
Programación web PHP
Unidad 2. El entorno de trabajo

RESUMEN
Antes de empezar a programa en php es necesario montar un entorno de trabajo que permita que el sistema pueda aceptar
peticiones web y también sepa interpretar el código PHP creado. De igual forma es necesario montar un gestor de Base de
datos tipo MySQL, si la aplicación necesita trabajar con datos almacenados.

La instalación del software necesario se hace con un solo asistente y se crea la estructura de directorios necesaria para
poder trabajar.

Los servicios instalados se pueden configurar con ficheros de configuración.

La forma de trabajar es desarrollar el proyecto en local y posteriormente subirlo al hosting elegido a través de un sofware de
transferencia de ficheros.

En esta unidad se han visto los elementos necesarios para crear un entorno de desarrollo para empezar a programar en php.
En la próxima unidad crearemos nuestro primer programa en PHP y veremos como visualizar el resultado en el navegador.

35
Programación web PHP
Unidad 3. Mi primer programa en PHP

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 3. Mi primer programa en PHP

INTRODUCCIÓN
En las unidades anteriores se han detallado las características de los sitios web tanto estáticos como dinámicos, así como
de los recursos de los que debe disponer una estación de trabajo para que se puedan desarrollar programas que contengan
script PHP, y se puedan interpretar.

En esta unidad se va a mostrar cómo crear nuestra primera página en PHP, dónde hay que ubicar dicha página en el servidor
y cómo solicitar dicha página desde el navegador.

Para el desarrollo de nuestra página en PHP, haremos uso de uno de los editores indicados en el tema anterior, en concreto
Notepad++.

CONOCIMIENTOS PREVIOS

Antes de comenzar a estudiar esta unidad es recomendable conocer:

• Los conceptos estudiados en las dos unidades anteriores del curso.

• Conocimientos básicos de HTML.

• Cómo descargar e instalar software en el ordenador.

• EL acceso a carpetas del ordenador a través del administrador de archivos.

AL FINALIZAR ESTA UNIDAD SABRÁS...

• Crear tu primer programa en PHP.

• Utilizar el programa Notepad ++.

• Ubicar el programa en el servidor.

• Detectar posibles errores frecuentes.

• Comprobar online el código PHP.

37
Programación web PHP
Unidad 3. Mi primer programa en PHP

1. EMPEZAMOS A PROGRAMAR
Podemos definir la programación como la secuencia de instrucciones necesarias
para que un determinado programa realice una cierta tarea. En nuestro caso,
cuando estamos diseñando una página web que contiene programación PHP, existen
dos bloques claramente diferenciadas:

• Código HTML.

• Código PHP.

El código HTML no se puede considerar como programación, pues es un lenguaje de marcas que va definiendo los elementos
de los que consta la página web.

El Código PHP sí es considerado como un lenguaje de programación y como tal, dispone de las características propias de un
programa informático.

La programación requiere de una serie de fases, que son necesarias seguir para su buen funcionamiento y posterior
mantenimiento. Estas fases son:

1. Análisis del problema: Se estudia el problema que hay que solucionar en forma de programa informático.

2. Diseño de la solución: Diseñar una posible solución a través de un algoritmo.

3. Construcción de la solución en forma de programa: Codificar el algoritmo diseñado en el punto anterior en un lenguaje
de programación.

4. Prueba: Realizar las pruebas necesarias para comprobar que el programa funciona correctamente.

5. Mantenimiento: Corregir posibles deficiencias detectadas en el funcionamiento del programa a lo largo del tiempo.

DEFINICIÓN

Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lógica y ordenada que per-
mite solucionar un determinado problema. Se trata de una serie de instrucciones o reglas establecidas que,
por medio de una sucesión de pasos, permiten llegar a un resultado o solución.
Un algoritmo es independiente del lenguaje de programación. De esta forma se puede diseñar un algoritmo
y luego codificarlo en PHP, C ó Javascript.

38
Programación web PHP
Unidad 3. Mi primer programa en PHP

En el siguiente gráfico se indican los lenguajes de programación más usados a fecha de Agosto de 2015.

1.1. ¿QUÉ ES PHP?


PHP (PHP Hypertext Pre-processor) es un lenguaje de programación de estilo
clásico, es decir, con variables, sentencias condicionales, bucles, funciones,
etc, que se ejecuta en el servidor, lo que permite acceder a los recursos que
tenga el servidor como, por ejemplo, una base de datos.

PHP es un lenguaje de código abierto, interpretado, con el cual se programa


en alto nivel. Fue diseñado originalmente para la creación de páginas web
dinámicas que requirieran interacción servidor-cliente, pero también puede
usarse desde una interfaz de línea de comandos. No obstante, en este curso,
sólo se usará para la programación de las páginas web.

39
Programación web PHP
Unidad 3. Mi primer programa en PHP

DEFINICIÓN

Lenguaje de alto nivel: Los lenguajes de alto nivel son aquellos en los que las instrucciones o sentencias son
escritas con palabras similares al lenguaje humano (generalmente en inglés).
Lenguaje de código abierto:
• Su código fuente está disponible para el que lo desee.

• Es gratuito (se puede descargar sin costo alguno).

• Está continuamente perfeccionándose gracias a los miles de aportes que los programadores de todo el
mundo realizan de forma desinteresada.

Lenguaje interpretado: El servidor interpreta el código PHP, y lo convierte en código HTML.

HAZLO TÚ MISMO

Investiga por Internet otro lenguaje de programación que comparta las características de PHP en cuanto a
que es abierto, de alto nivel e interpretado.

1.2. CONFIGURACIÓN BÁSICA DE NOTEPAD ++


Antes de poder comenzar a crear páginas PHP, necesitaremos realizar una configuración
básica de nuestro entorno de desarrollo. En nuestro caso, la configuración será
bastante simple y consistirá en elegir la codificación con la que guardaremos nuestros
ficheros PHP y seleccionar el lenguaje con el que vamos a trabajar.

Lo primero que vamos a hacer es abrir el programa Notepad++. Para esto, nos
vamos a Inicio -- > Programas -- > Notepad++ -- > Notepad++. Se nos abrirá el
programa, mostrando una pantalla similar a la siguiente.

40
Programación web PHP
Unidad 3. Mi primer programa en PHP

Ya tenemos todo listo para poder empezar a crear nuestras páginas PHP.

HAZLO TÚ MISMO

Atendiendo a las indicaciones mostradas anteriormente, descarga, instala y configura Notepad ++ para
poder programar en PHP.

41
Programación web PHP
Unidad 3. Mi primer programa en PHP

1.3. SCRIPT PHP


Como ya se ha indicado en puntos anteriores, el código PHP va incrustado (embebido) dentro del código de la página HTML
que estemos diseñando. A modo de ejemplo presentamos una página web con un código HTML básico que simplemente
muestra un mensaje de bienvenida, y al cual se le va a añadir un script php.

EJEMPLO

<html>
<head>
<title> Ejemplo PHP </title>
</head>
<body>
La primera página Html
</body>
</html>

Como observamos en el ejemplo sólo aparecen etiquetas HTML. Si visualizamos dicha página en un navegador simplemente
obtendremos el resultado de las etiquetas indicadas, tal y como se muestra en la siguiente imagen.

Para incluir código php hay que incrustar dicho código en el código html e incluirlo entre las etiquetas <?php y ?>, tal y
como se muestra en el siguiente ejemplo.

42
Programación web PHP
Unidad 3. Mi primer programa en PHP

EJEMPLO

<html>
<head>
<title> Ejemplo PHP </title>
</head>
<body>
La primera página Html
<?php
// Aquí iría el código php
?>
</body>
</html>

PRESTA ATENCIÓN

Los comentarios en los script php se indican con los caracteres // si ocupa una sóla línea.
Si los comentarios ocupan varias líneas se pueden incluir entre los símbolos /* y */.

2. EL PRIMER PROGRAMA EN PHP


Nuestro primer programa en PHP, va a consistir en mostrar el mensaje ¡Hola Mundo! desde una página HTML que va a
contener el script PHP necesario para mostrar dicho mensaje.

43
Programación web PHP
Unidad 3. Mi primer programa en PHP

EJEMPLO

<html>
<head>
<title> Ejemplo PHP </title>
</head>
<body>
<?php
echo “¡Hola Mundo!”;
?>
</body>
</html>

DEFINICIÓN

El comando echo simplemente muestra el contenido que se incluye entre comillas en la página html. Todas
las instrucciones del script PHP deben finalizar con el símbolo ;

El código anterior se puede desarrollar utilizando cualquier editor de código de los indicados en el tema anterior. En este caso
se ha utilizado Notepad ++. Una vez que se haya finalizado la edición se ha de grabar con la extensión .php. Por ejemplo lo
podemos llamar prueba.php.

Es muy importante colocar ese fichero (prueba.php) en el subdirectorio donde está instalado el servidor Web Apache. Por
defecto el servidor Web Apache se instala en c:\wamp\www.

Sería interesante crear un subdirectorio dentro de esa carpeta, como por ejemplo pruebas, y colocar ahí dentro el fichero
creado. De esta manera la estructura de directorios junto el fichero creado quedaría así:

44
Programación web PHP
Unidad 3. Mi primer programa en PHP

A partir de este momento, y teniendo en cuenta de que el Servidor Apache debe de estar arrancado, si en el navegador
escribimos http://localhost/pruebas/prueba.php se debe de obtener el siguiente resultado.

Sería interesante crear un subdirectorio dentro de esa carpeta, como por ejemplo pruebas, y colocar ahí dentro el fichero
creado. De esta manera la estructura de directorios junto el fichero creado quedaría así:

Si en este momento pulsamos botón derecho en la página html y le pedimos visualizar código fuente html obtendremos el
código que se muestra a continuación, que como se observa sólo tiene código HTML.

No queda ningún rastro de código PHP, porque ya ha sido interpretado por el servidor y convertido en HTML.

ACTIVIDAD

Teniendo en cuenta las siguientes indicaciones del lenguaje de marcas de HTML:

• <br>: salto de página en html.

• <b></b>: pone en negrita el texto que aparece entre ambas marcas.

Crear un script php para que el resultado en el navegador sea el siguiente:


Curso de PHP
Agosto de 2015
Nota: Debe de realizarse con un script php, utilizando el comando echo.

45
Programación web PHP
Unidad 3. Mi primer programa en PHP

2.1. FASES DE TRANSFORMACIÓN


En la siguiente tabla se muestran las tres fases por las que pasa el código en php antes de visualizar el resultado en el
navegador:

• Fichero con el código php incrustado.

• Fichero HTML una vez que el código php ya se ha interpretado y se convierte en


código HTML.

• Salida en el navegador.

CÓDIGO PHP CÓDIGO HTML SALIDA EN EL NAVEGADOR

<HTML> <HTML> ¡Hola Mundo!

<HEAD> <HEAD>

<TITLE>Muestra Hola Mundo </TITLE> <TITLE> Muestra Hola Mundo </TITLE>

</HEAD> </HEAD>

<BODY> <BODY>

<?php ¡Hola Mundo!

echo "¡Hola Mundo!"; </BODY>

?> </HTML>

</BODY>

</HTML>

HAZLO TÚ MISMO

Crea una página PHP que muestre tu nombre y apellidos en el navegador en una línea y la fecha actual en
otra línea.

46
Programación web PHP
Unidad 3. Mi primer programa en PHP

2.2. ERRORES FRECUENTES


Llegados a este punto, ya sabemos cómo utilizar el editor para incrustar código PHP en una página Html. Sin embargo, es
frecuente que una vez que queramos visualizar el resultado en el navegador no se muestre nada o aparezcan errores.

A continuación se muestran algunos de los errores más frecuentes cuando no se obtiene el resultado esperado.

• El fichero .php siempre tiene que estar ubicado en el subdirectorio www del servidor Apache. Si se graba en otra ubicación
el navegador no lo interpretará correctamente.

• Todas las instrucciones php deben de acabar en ;

• No está arrancado el Servicio de Apache.

• No está arrancado el Servicio de PHP.

• El fichero no tiene la extensión .php y se ha nombrado con .html

• Cuando el servidor Apache detecta algún error en la sintaxis del código php muestra una descripción del error en el
navegador, y no sigue interpretando el resto del script.

ACTIVIDAD

Crear un tema de debate en el foro de la unidad con el siguiente tema:


“ Una vez que haz probado el primer programa en PHP. ¿Te ha salido algún error?. Indica cual, y como lo has
solucionado.”

2.3. COMPROBACIÓN ONLINE DE CÓDIGO PHP


En ocasiones necesitamos probar un código php de manera rápida sin necesidad de disponer de un servidor web instalado.
Para ello existen programas online que nos permite comprobar el resultado de un programa php. Uno de los más utilizados es
Runcode, que se puede acceder a través de la siguiente dirección Web:

• http://rextester.com/runcode

La imagen de esta aplicación online es la siguiente:

47
Programación web PHP
Unidad 3. Mi primer programa en PHP

Su funcionamiento es muy simple, y se indica en los siguientes puntos:

1. Se elige el lenguaje de programación en el apartado de Language

2. En la ventana superior se escribe el código php

3. Se pulsa en el botón Run it (F8)

4. Se obtiene en la ventana inferior el código html ya interpretado,

5. El código obtenido se puede copiar y pegar en un fichero html que se puede visualizar directamente en cualquier navegador.

UNA VENTANA AL MUNDO

Son numerosos los programas que permiten la comprobación online de código PHP. A continuación se mues-
tran algunos:
• Ideone: https://ideone.com/

• Codepad: http://codepad.org/

• WritephpOnline.com: http://www.writephponline.com/

• Viper-7: http://viper-7.com/

• Repl.it: https://repl.it/languages

48
Programación web PHP
Unidad 3. Mi primer programa en PHP

RESUMEN
En una página html con un script php hay dos bloques diferenciados. Uno de ellos contiene las marcas correspondientes al
diseño de la página web y el otro corresponde a la programación del script.

Con un editor como Notepad++ se facilita mucho la labor de diseñar páginas web con script PHP.

El script php va delimitado con los símbolos <?php y ?>

El código PHP se interpreta y se convierte en HTML, que visualiza el navegador.

Existen programas online que permiten visualizar el resultado de un código PHP sin necesidad de tener un servidor web.

En esta unidad hemos creado nuestro primer programa en PHP y hemos visto el resultado en el navegador. En la próxima
unidad detallaremos en profundidad todas las características del lenguaje PHP.

49
Programación web PHP
Unidad 4. Programación en PHP

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 4. Programación en PHP

INTRODUCCIÓN
En la unidad anterior creamos nuestro primer programa en PHP y vimos cómo se estructura el código dentro de la página HTML.
En esta unidad vamos a entrar en detalle sobre las características principales que definen al lenguaje de programación PHP.

En los lenguajes de programación se disponen de los elementos, sentencias y estructuras que nos permiten diseñar una
solución al problema planteado. Cada lenguaje tiene su propia sintaxis para definir esos elementos, pero en general todos
comparten unas líneas básicas que nos ayudan a construir la solución.

CONOCIMIENTOS PREVIOS

Antes de comenzar a estudiar esta unidad es recomendable conocer:

• Los conceptos estudiados en las tres primeras unidades del curso.

• Conocimientos básicos de HTML.

• Descarga e instalación de software.

• El acceso a carpetas del PC a través del administrador de archivos.

• El acceso a recursos complementarios de programación en la web.

AL FINALIZAR ESTA UNIDAD SABRÁS...


• Conocer los elementos principales de un script PHP.

• Definir variables y constantes para utilizarlas en el script.

• Conocer los operadores más utilizados en PHP.

• Conocer las estructuras de control.

• Combinar todos los bloques necesarios para desarrollar un script PHP.

51
Programación web PHP
Unidad 4. Programación en PHP

1. LENGUAJE DE PROGRAMACIÓN
La programación informática permite resolver problemas simples o complejos
proporcionando soluciones a dichos problemas. En el caso de los scripts PHP,
permiten que las páginas web sean dinámicas.

Los scripts están formados por instrucciones que en algunos casos se ejecutan
de manera secuencial y en otros casos se ejecutan de manera selectiva según
ciertas condiciones.

En programación hay que diferenciar claramente entre el diseño del algoritmo


(proporciona una solución al problema) y la implementación en un lenguaje de programación determinado. En este caso, el
lenguaje elegido es PHP. El amplio conocimiento de todos los elementos de programación y el modo de su integración en los
programas, constituyen las técnicas de programación que todo buen programador debe conocer.

Sin embargo, los conceptos de programación son similares entre los diferentes lenguajes, y si se comprenden dichos
conceptos, es relativamente fácil poderlos aplicar a otros lenguajes.

1.1. ELEMENTOS DE UN PROGRAMA PHP

El lenguaje de programación PHP está formado por un conjunto de reglas, símbolos y palabras reservadas necesarias para
construir el script y dar solución al problema planteado.

Estas reglas se denominan sintaxis del lenguaje. Sólamente las instrucciones sintácticamente correctas pueden ser
interpretadas por el servidor. El script que contenga errores de sintaxis será rechazado mostrando el error en el propio navegador.

Estas instrucciones se pueden clasificar en los siguientes bloques de instrucciones:

52
Programación web PHP
Unidad 4. Programación en PHP

TIPO DE INSTRUCCIONES DESCRIPCIÓN


Las variables y constantes almacenan valores que son necesarios para el funcionamiento
Variables y constantes
del script PHP.
A través de operadores se pueden ir construyendo nuevos valores que se pueden utilizar
Operadores
en otro punto del programa o como salida hacia el código HTML.
Modifica el flujo normal de un programa. Usualmente las instrucciones se ejecutan
Estructuras de control secuencialmente, una detrás de otra. Sin embargo, existen instrucciones de control que
permiten variar esa secuencialidad.

La combinación de estas instrucciones formarán el script necesario para la programación de la solución. Es importante
indicar y ya se verá en los ejemplos de la unidad, que todas las instrucciones PHP tienen que finalizar con el símbolo ;.

¿SABÍAS QUE…?

El primer lenguaje de programación de alto nivel que fue creado es FORTRAN que significa Traductor de
Formulas y proviene de las palabras en ingles FORmula TRANslating.

HAZLO TÚ MISMO

Investiga por Internet cuál fue el principal uso del lenguaje de programación FORTRAN.

2. VARIABLES Y CONSTANTES
En un script PHP se usan valores que no van a variar durante la ejecución del programa, porque son valores fijos, que se
van a utilizar en diferentes puntos del script. A estos valores se les conoce como constantes. Por ejemplo, se podría definir el
porcentaje de beneficio de una venta como una constante.

Al mismo tiempo, también existen valores que deben cambiar a lo largo de la ejecución del programa. Estos valores son
conocidos como variables. Por ejemplo, una variable podría ir conteniendo un contador con el número de impresiones realizadas.

53
Programación web PHP
Unidad 4. Programación en PHP

ACTIVIDAD

Crea un tema de debate en el foro para discutir lo siguiente: ¿Qué otros ejemplos de constantes y variables
se te ocurren a raiz de las definiciones mostradas anteriormente?

2.1. LAS VARIABLES


Las variables en programación son datos que se almacenan de manera temporal en la memoria del ordenador, y que puede ir
variando su valor a lo largo de la ejecución del programa. Es una zona de memoria que almacena información que es necesaria
para la página PHP, y que cuando salimos de la página se destruye. Una variable en PHP siempre comienza con el símbolo $,
seguida de secuencia de letras, cifras o del signo _.

EJEMPLO

$Mes, $Precio y $Total2015 son ejemplos de variables en PHP.

El valor de la variable se asigna gracias al operador de asignación ( = ). De esta forma, si indicamos $año=2015, estamos
asignando el valor 2015 a la variable $año a través del operador ( = ).

Las variables no es necesario ni declararlas, ni inicializarlas. El tipo de datos que puede contener la variable puede cambiar a
lo largo del script. De esta forma, podríamos tener el siguiente script y no se generaría ningún error. Como se observa, primero
$año contiene un valor numérico y posteriormente tiene un valor de tipo string.

EJEMPLO

<?php
$año = 2015; // variable de tipo numérico
//después
$año = “bisiesto”; //variable de tipo texto
?> $Mes, $Precio y $Total2015 son ejemplos de variables en PHP.

54
Programación web PHP
Unidad 4. Programación en PHP

PRESTA ATENCIÓN

Para nombrar las variables hay que tener en cuenta ciertas limitaciones:
• PHP distingue entre mayúsculas y minúsculas, por lo que $nombre es distinto de $Nombre.

• No se permiten espacios en blanco.

• No se pueden usar carácteres especiales ( &, //, #, etc ).

• Utilizar caracteres alfanuméricos.

2.2. TIPOS DE VARIABLES


Los tipos de variables básicos que soporta PHP son los siguientes:

TIPO DE VARIABLE VALORES POSIBLES

Números enteros 1,2,3... y los numeros negativos -1,-2,-3...


Números decimales También llamados float, son los números positivos o negativos con comas decimales (1.342)
String Cadena de caracteres que se incluyen entre dobles comillas ("hola") ó comillas simples ('hola').
Booleanos Sólo tiene dos valores: true o false.

A continuación se muestran ejemplos de cada uno de los valores indicados anteriormente:

EJEMPLO

<?php
$numeropositivo= 5;
$numeronegativo= -5;
$numerodecimal= 1.345;
$saludo= “hola”;
$Incentivado= true;
?>

55
Programación web PHP
Unidad 4. Programación en PHP

HAZLO TÚ MISMO

A partir del ejemplo mostrado anteriormente mostrar un ejemplo de valor de cada una de los tipos de varia-
bles.

2.3. LAS CONSTANTES


Las constantes a diferencia de las variables, son identificadores que contienen valores que no van a variar a lo largo de la
ejecución del script. Esto es útil cuando necesitamos usar un valor constante y tenerlo identificado por su nombre.

Para definir una constante, se utiliza la función define(), tal y como se muestra en el siguiente ejemplo:

EJEMPLO

<?php
define(“MI_CONSTANTE”, “Hola Mundo!”);
?>

PRESTA ATENCIÓN
• Para nombrar las constantes hay que seguir las mismas pautas que para las variables.

• Por convención se suelen nombrar en MAYÚSCULAS.

• No se utiliza el símbolo $ (dolar).

56
Programación web PHP
Unidad 4. Programación en PHP

ACTIVIDAD

Crear un tema de debate en el foro para discutir la siguiente pregunta:


Indica qué línea del siguiente código Script generará un error.
<?php
define(“MI_CONSTANTE”, “Hola Mundo!”);
echo MI_CONSTANTE;
echo Mi_constante;
?>

2.4. CONSTANTES PREDEFINIDAS


Independientemente de las constantes que el usuario pueda definir, el sistema dispone de unas constantes predefinidas. En
la siguiente tabla se muestran alguna de ellas:

PHP_VERSION La versión actual de PHP

PHP_INT_MAX El valor integer más grande admitido en esta compilación de PHP

PHP_MANDIR Especifica dónde están instalados los manuales

UNA VENTANA AL MUNDO

Para una lista completa de las constantes predefinidas del sistema se puede acceder a la siguiente direc-
ción:
• http://ar.php.net/manual/es/reserved.constants.php

57
Programación web PHP
Unidad 4. Programación en PHP

HAZLO TÚ MISMO

Escribir un script PHP donde se muestren los valores de las constantes mostradas anteriormente.

3. OPERADORES
Los operadores son símbolos especiales que se utilizan en los scripts PHP para realizar ciertas operaciones sobre las variables
o constantes definidas. El operador recibe uno o más valores y da como resultado otro valor.

Existen tres tipos de operadores:

• Operador unario: Sólo opera sobre un único valor.

• Operador binarios: Opera sobre dos valores.

• Operador ternario: Opera sobre tres valores.

En apartados anteriores ya se ha hecho uso de alguno de ellos, como es el caso del operador de asignación. Por ejemplo:
$valor=5;

Con el símbolo = estamos asignando el valor 5 a la variable $valor. En este punto del tema estudiaremos algunos de los
operadores más utilizados en PHP.

3.1. OPERADORES ARITMÉTICOS


Este tipo de operadores se utilizan para realizar operaciones aritméticas con las variables o constantes definidas en nuestro
programa. Los operadores aritméticos se muestran en la siguiente tabla:

OPERADOR NOMBRE OPERACIÓN RESULTADO DE LA OPERACIÓN

-$num1 Negación (-) El opuesto de $num1


$num1 + $num2 Suma (+) Suma $num1 y $num2
$num1 - $num2 Resta (-) Resta a $num1 el valor $num2
$num1 * $num2 Multiplicación (*) Multiplica $num1 y $num2
$num1 / $num2 División (/) Divide $num1 por $num2
$num1 % $num2 Módulo (%) Resto de dividir $num1 por $num2

58
Programación web PHP
Unidad 4. Programación en PHP

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php -5

$num1=5; 11

$num2=6; -1

echo -$num1; 30

echo "<br>"; 0.83333333333333

echo $num1 + $num2; 5

echo "<br>";

echo $num1 - $num2;

echo "<br>";

echo $num1 * $num2;

echo "<br>";

echo $num1 / $num2;

echo "<br>";

echo $num1 % $num2;

echo "<br>";

?>

HAZLO TÚ MISMO

Identifica de los operadores anteriores cuáles son unarios, binarios y ternarios.

59
Programación web PHP
Unidad 4. Programación en PHP

3.2. OPERADOR DE ASIGNACIÓN


El operador de asignación es el carácter igual (“=”). Por ejemplo, $var=76.

Con este operador simplemente asignamos el valor indicado en la derecha a la variable que se escribe en la izquierda. Hay que
tener cuidado de cómo se nombra la variable, teniendo en cuenta las limitaciones indicadas en el apartado 2.1 de la unidad.

El operador de asignación puede asignar valores enteros, decimales, strings, etc...

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php Hola

$nombre="Alberto"; mi nombre es Alberto

$edad=45; y vivo en Sevilla

$ciudad="Sevilla";

echo "Hola<br>";

echo "mi nombre es $nombre<br>";

echo "y vivo en $ciudad<br>";

?>

PRESTA ATENCIÓN

Es importante observar que se ha asignado valores a las variables $nombre, $edad y $ciudad. A la hora de
mostrar sus valores, se pueden incluir dentro de las comillas del comando echo, sustituyéndose las variables
por sus valores.

Todas las instrucciones php deben finalizar con el símbolo “;”.

60
Programación web PHP
Unidad 4. Programación en PHP

3.3. OPERADORES DE COMPARACIÓN


Estos operadores se utilizan para comparar valores que pueden estar almacenados en variables o en constantes. Los
operadores disponibles en PHP se muestran en la siguiente tabla.

OPERADOR RESULTADO DE LA OPERACIÓN

$num1 == $num2 TRUE si $num1 es igual que $num2


$num1 != $num2 TRUE si $num1 es distinto que $num2
$num1 <> $num2 Ídem $num1 != $num2
$num1 > $num2 TRUE si $num1 es mayor que $num2
$num1 < $num2 TRUE si $num1 es menor que $num2
$num1 >= $num2 TRUE si $num1 es mayor o igual que $num2
$num1 <= $num2 TRUE si $num1 es menor o igual que $num2

El valor será TRUE si la comparación devuelve el valor verdadero y FALSE en caso contrario.

EJEMPLO

SCRIPT PHP

<?php
$num1=4;
$num2=9;

$num1==$num2; // Devuelve FALSE


$num1 != $num2; // Devuelve TRUE
$num1 <> $num2; // Devuelve TRUE
$num1 > $num2; // Devuelve FALSE
$num1 < $num2; // Devuelve TRUE
$num1 >= $num2; // Devuelve FALSE
$num1 <= $num2; // Devuelve TRUE
?>

61
Programación web PHP
Unidad 4. Programación en PHP

PRESTA ATENCIÓN
Los valores devueltos por los operadores de comparación se pueden utilizar en las estructuras de control para
elegir qué instrucciones hay que ejecutar y cuáles no.

3.4. OPERADORES DE INCREMENTO/DECREMENTO


Son operadores que se utilizan para incrementar o decrementar en uno el valor de la variable sobre la que se actúa.Los
operadores son:

• ++: incrementa en una unidad.

• --: decrementa en una unidad.

Tienen el mismo efecto de sumar/restar uno y utilizar el operador de asignación al mismo tiempo. Por ejemplo las dos
operaciones siguientes devuelven el mismo valor:

OPERACIÓN 1 OPERACIÓN 2 RESULTADO

<?php <?php 5

$num1=4; $num1=4;

echo $num1++;

?> $num1=$num1+1;

echo $num1;

?>

HAZLO TÚ MISMO

Realiza un ejemplo similar al mostrado en el punto anterior combinando sumas y restas.

62
Programación web PHP
Unidad 4. Programación en PHP

3.5. OPERADORES LÓGICOS


Estos operadores permiten realizar las operaciones lógicas de las que disponen cualquier lenguaje de programación, y que
van a resultar de mucha utilidad junto con las estructuras de control que veremos más adelante. Las operaciones lógicas son:

• AND. • OR. • XOR. • NOT.

La combinación de estos operadores con valores numéricos o de cadenas van a dar como resultado un valor de True o False.
Veamos como se combinan estos operadores.

SCRIPT PHP OPERADOR RESULTADO

$a and $b AND TRUE si tanto $a como $b son TRUE.


$a or $b OR TRUE si cualquiera de $a o $b es
$a xor $b XOR TRUE si $a o $b es TRUE, pero no ambos.
!$a NOT TRUE si $a no es TRUE.
$a && $b AND TRUE si tanto $a como $b son TRUE.
$a || $b OR TRUE si cualquiera de $a o $b es TRUE

EJEMPLO

SCRIPT PHP

<?php
$num1=4;
$num2=5;

$a=($num1==$num2); // False
$b=($num1<$num2); // True

$a and $b; // Devuelve False


$a or $b; // Devuelve True
$a xor $b; // Devuelve True
!$a; // Devuelve True
$a && $b; // Devuelve False
$a || $b; // Devuelve True
?>

63
Programación web PHP
Unidad 4. Programación en PHP

HAZLO TÚ MISMO

Realiza el ejemplo anterior intercambiando los valores de $num1 y $num2. ¿Qué valores se obtienen?.

3.6. OPERADORES DE CADENA


Estos operadores se usan sobre variables que contienen datos de tipo String. Existen dos operadores:

• Operador de concatenación (.): Devuelve el resultado de concatenar las cadenas que existen tanto a la derecha como a la
izquierda del operador.

• Operador de asignación sobre concatenación (.=): Adiciona el argumento del lado derecho al argumento del lado
izquierdo.

Vamos a verlo sobre un ejemplo.

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php Hola Mundo

Hola Mundo
$a = “Hola “;
$b = “Mundo”;
echo $a . $b;
echo “<br>”;

$a .= “Mundo”;
echo $a;
echo “<br>”;

?>

64
Programación web PHP
Unidad 4. Programación en PHP

ACTIVIDAD

Crear un script php utilizando el operador de asignación sobre concatenación que realice lo siguiente, alma-
cenando los valores en las variables indicadas.
• $nombre: tu nombre

• $apellido1: tu primer apellido

• $apellido2: tu segundo apellido

y aparezca todo en la misma línea.

4. ESTRUCTURAS DE CONTROL
Los scripts PHP que hemos visto a lo largo del curso son bastante sencillos.
Constaban de algunas instrucciones de manera secuencial con alguna
asignación y salida, pero poco más.

Sin embargo, los programas PHP no son tan simples, pues en ocasiones
el script tendrá que tomar decisiones complejas y ejecutar diferentes
operaciones de acuerdo a ciertas condiciones que aparezcan. Se podrán
realizar diferentes acciones basadas en los resultados de los operadores
lógicos y de comparación que se vieron en el punto anterior.

De igual forma, en numerosas ocasiones es necesario automatizar acciones


repetitivas utilizando bucles, que permiten ejecutar instrucciones un número
determinado de veces.

En resumen, con el nombre de estructuras de control se agrupan una serie


de instrucciones que:

• Permiten redirigir el flujo de ejecución del código del programa.

• Permiten repetir un número de veces un grupo de sentencias.

65
Programación web PHP
Unidad 4. Programación en PHP

4.1. IF
Esta estructura permite ejecutar un conjunto de sentencias sólo si la condición evaluada es True. A diferencia de los bucles,
que se verán más adelante, el conjunto de sentencias dentro del if se ejecuta una sola vez.

SINTAXIS PARÁMETROS

if ( expresión ) Expresión: cualquier expresión válida que pueda evaluarse a traves de los operadores de comparación
o lógicos y que devuelvan un valor booleano (True o False).
{

Sentencia1;
sentencia1, sentencia2: Sentencias que se van a ejecutar si la expresión evaluada es True.
Sentencia2;

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php 8 es mayor que 6


$num1 = 8;
$num2 = 6;

if($num1>$num2)
{
echo “$num1 es mayor que $num2”;
}
?>

66
Programación web PHP
Unidad 4. Programación en PHP

PRESTA ATENCIÓN

• La expresión que se evalúa en la sentencia if siempre debe de ir entre paréntesis.

• Si se van a ejecutar más de una sentencia en el cuerpo del if deben de ir entre {}.

• La expresión siempre debe de devolver un valor de True o False.

4.2. ELSE
Con la sentencia if hemos visto que cuando se cumple la condición que se indica en la expresión, se ejecutan las instrucciones
encerradas entre las llaves. Con la sentencia else, que va asociada a la sentencia if, se ejecutarán las sentencias que se
indiquen cuando no se cumpla dicha condición.

En resumen, el bloque if se ejecuta cuando la condición es True y el bloque else cuando la condición es False.

SINTAXIS PARÁMETROS

if ( expresión ) Expresión: cualquier expresión válida que pueda evaluarse a traves de los operadores de
comparación o lógicos y que devuelvan un valor booleano(True o False).
{

sentencia1;
sentencia1, sentencia2: Sentencias que se van a ejecutar si la expresión evaluada es True.
sentencia2;

else

sentencia3;
sentencia3, sentencia4: Sentencias que se van a ejecutar si la expresión evaluada es False.
sentencia4;

67
Programación web PHP
Unidad 4. Programación en PHP

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php 6 es menor que 8


$num1 = 6;
$num2 = 8;

if($num1>$num2)
{
echo “$num1 es mayor que $num2”;
}
else
{
echo “$num1 es menor que $num2”;
}
?>

ACTIVIDAD

Crear un tema de debate en el foro para discutir lo siguiente:


• ¿Crees que se podrían haber quitado las llaves en el script indicado anteriormente?

4.3. SWITCH
La sentencia switch es similar a un grupo de sentencias if colocadas de manera secuencial. En numerosas ocasiones se
necesita comparar una variable o una expresión con diferentes valores, y según el valor encontrado, ejecutar una instrucción u
otra. Si tuvieramos que realizar esta comprobación con sentencias if, se tendrían que utilizar muchas de manera secuencial.

Para evitar esto, se utiliza la sentencia switch cuya sintaxis es la siguiente:

68
Programación web PHP
Unidad 4. Programación en PHP

SINTAXIS PARÁMETROS

switch ($variable) $variable: La variable que va a ser comparada.


{
case valor1: valor1: Si el valor de la $variable coincide con el valor1, se ejecuta la sentencia1.
sentencia1;
break; valor2: Si el valor de la $variable coincide con el valor1, se ejecuta la sentencia2.
case valor2:
sentencia2; valor3: Si el valor de la $variable coincide con el valor1, se ejecuta la sentencia3.
break;
case valor3: break: Una vez que se encuentra el valor que coincide con la $variable se ejecuta la sentencia
sentencia3; adecuada y con break se sale del bloque switch.
break;
default: default: Si ningún valor coincide con el valor de la $variable se ejecutaría el bloque indicado en
sentencia4; default. En este caso la sentencia4.
break;
}

69
Programación web PHP
Unidad 4. Programación en PHP

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php num2 es igual a 2


$num1 = 2;

switch ($num1)
{
case 0:
echo “<br>num1 es igual a 0”;
break;
case 1:
echo “<br>num1 es igual a 1”;
break;
case 2:
echo “<br>num1 es igual a 2”;
break;
}
?>

ACTIVIDAD

Modifica el script anterior para que muestre el mensaje “el número no es ni 0, ni 1, ni 2”.

70
Programación web PHP
Unidad 4. Programación en PHP

4.4. WHILE
Cuando se necesita repetir una instrucción o grupo de instrucciones un numero determinado o indeterminado de veces,
se utilizan los bucles. Estos bucles se ejecutan hasta que se cumpla una condición, o hasta que se llegue a un numero
determinado de ciclos.

En el caso de la sentencia While la sintaxis es la siguiente:

SINTAXIS PARÁMETROS

while (expresión) Expresión: mientras la expresión sea cierta se van a ejecutar todas las sentencias que aparecen
{ entre llaves
sentencia 1;
sentencia1, sentencia2,..., sentenciaN: Estas sentencias pueden ser de salida de información,
sentencia 2;
incremento de variables, acceso a base de datos, etc..
...
sentencia N;
}

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php 0
$contador = 0;
1
while ($contador < 5)
{ 2
echo “$contador<br>”;
3
++$contador;
} 4

Como se observa la instrucción echo se ejecuta hasta que la expresión $contador<5 deje de ser cierta. Como en cada
interacción, se va incrementado en uno el contador, llega un momento en el que $contador es mayor de 5 y por eso se sale del
bucle.

71
Programación web PHP
Unidad 4. Programación en PHP

PRESTA ATENCIÓN

Hay que tener mucho cuidado de que la expresión evaluada llegue un momento en el que sea falsa, bien porque
se compare con una variable que estemos modificando internamente o por cualquier otra causa.

Si no fuera así se provocaría un bucle infinito y el programa se bloquearía.

HAZLO TÚ MISMO

Modificar el script anterior para que se muestra hasta el número 5 sin hacer la comparación con el número
6.

4.5. DO..WHILE
Esta sentencia es muy parecida a la sentencia While. La única diferencia es que la evaluación de la expresión se hace al final
del bloque de instrucciones. Por ello, como mínimo, se ejecuta una vez las instrucciones incluidas entre llaves.

La sintaxis sería la siguiente:

SINTAXIS PARÁMETROS

do { Expresión: expresión que se evalúa al final del bloque.


sentencia 1;
sentencia 2;
... sentencia1, sentencia2,..., sentenciaN: Estas sentencias pueden ser de salida de información,
sentencia N; incremento de variables, acceso a base de datos, etc.. y se ejecutan mientras la expresión sea True
} while (expresión);

72
Programación web PHP
Unidad 4. Programación en PHP

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php 0
$contador = 0;
1
do
{ 2
echo “$contador<br>”;
3
++$contador;
} while ($contador < 5); 4

Como se observa, se obtiene el mismo resultado que con la sentencia While.

HAZLO TÚ MISMO

Investiga por Internet, en que situación es interesante utilizar do..while frente a while.

4.6. FOR
Por último, dentro de las sentencias que ejecutan bucles tenemos la sentencia for. En este caso la sintaxis es un poco más
compleja y se muestra a continuación.

73
Programación web PHP
Unidad 4. Programación en PHP

SINTAXIS PARÁMETROS

for (expresión1; expresión2; expresión3) Expresión1: se ejecutará incondicionalmente, y sólo una vez, al comienzo del
{ primer ciclo.
sentencia 1;
Expresión2: se evalúa al comienzo de cada iteración, condiciona la ejecución
sentencia 2;
del código entre llaves, es decir, de las sentencias. Si se evalúa como cierta el
...
bucle se ejecuta, si se evalúa como falsa se interrumpe la ejecución del mismo.
sentencia N;
} Expresión3: se evalúa o se ejecuta al final de cada ciclo.

EJEMPLO

SCRIPT PHP SALIDA EN EL NAVEGADOR

<?php Numero 0
for ($i=0; $i<10; $i++)
Numero 1
{
echo “<br>Numero $i”; Numero 2
}
Numero 3
?>
Numero 4

Numero 5

Numero 6

Numero 7

Numero 8

Numero 9

74
Programación web PHP
Unidad 4. Programación en PHP

Ten en cuenta que en la instrucción for se realizan las siguientes acciones:

• expresión1: Se inicializa la variable $i a 0.

• expresión2: Se comprueba si se ha de seguir ejecutando el bucle si se sigue cumpliendo la condición.

• expresión3: Se incrementa la variable $i que es la de control.

4.7 COMBINACIÓN DE ESTRUCTURAS DE CONTROL


Hasta ahora se han visto diferentes estructuras de control que se pueden usar en los script PHP. Se han visto de manera
individual, pero se pueden combinar para conseguir programas más complejos.

A continuación se muestra un ejemplo donde lo que se pretende es mostrar los numeros pares desde el 0 hasta el 20, ambos
incluidos. Para ello se va a hacer uso de dos tipos de estructuras de control:

• For.

• If.

75
Programación web PHP
Unidad 4. Programación en PHP

EJEMPLO

HTML CON SCRIPT PHP CÓDIGO HTML GENERADO

<html> <html>
<head> <head>
<title>Numeros pares</title> <title>Numeros pares</title>
</head> </head>
<body> <body>
Los numeros <b>pares</b> del 0 al Los numeros <b>pares</b> del 0 al
10 son: 10 son:
<?php <br>Numero 0
for ($i=0; $i<=10; $i++) <br>Numero 2
{ <br>Numero 4
if ($i%2==0) <br>Numero 6
{ <br>Numero 8
echo "<br>Numero $i"; <br>Numero 10
} </body>
} </html>
?>
</body>
</html>

HAZLO TÚ MISMO

Crea un fichero HTML con Script PHP similar al mostrado anteriormente que muestre los números impares
del 0 al 50, excluyendo el número 21.

76
Programación web PHP
Unidad 4. Programación en PHP

5. EJEMPLOS SCRIPT PHP


En este apartado de la unidad se van a mostrar algunos ejemplos de script que combinan los elementos mostrados en el tema.
Es importante comprender su funcionamiento y probarlos en local para comprobar que se obtiene el mismo resultado.

PRESTA ATENCIÓN

Es muy importante comprobar:

• El servidor WAMP debe estar arrancado.

• Los ficheros php indicados deben de estar ubicados en el subdirectorio adecuado.

• El fichero debe tener la extensión .php.

5.1. EJEMPLO 1
Definir tres variables enteras. Luego definir un string que incorpore dichas variables y las sustituya en tiempo de ejecución.
Recordar que una variable se sustituye cuando el string está encerrado por comillas dobles. Ejemplo:

$precio=90;

echo “La computadora tiene un precio de $precio”;

SOLUCIÓN

<html>
<head>
<title>Ejemplo 1</title>
</head>
<body>
<?php
$nota1=10;
$nota2=7;
$nota3=8;
echo “Juan aprobo la materia con las notas $nota1, $nota2 y $nota3”;
?>
</body>
</html>

77
Programación web PHP
Unidad 4. Programación en PHP

SALIDA EN EL NAVEGADOR

Juan aprobó la materia con las notas 10, 7 y 8.

5.2. EJEMPLO 2
Elegir un número entre 1 y el 3. Luego imprimir en castellano el número. Ejemplo: Si se elige el 3 mostrar en la página el string
“tres”. Para ello utilizar la estructura de control switch.

SOLUCIÓN

<html>
<head>
<title>Ejemplo 2</title>
</head>
<body>
<?php
$numero=2;
switch ($numero)
{
case 1:
echo “El numero es el uno”;
break;
case 2:
echo “El numero es el dos”;
break;
case 3:
echo “El numero es el tres”;
break;
}
?>
</body>
</html>

SALIDA EN EL NAVEGADOR

El numero es el dos

78
Programación web PHP
Unidad 4. Programación en PHP

5.3. EJEMPLO 3
Mostrar la tabla de multiplicar del 2, usando While. La salida deberá ser de esta manera: 2-4-6-8-10-12-14-16-18-20

SOLUCIÓN

<html>
<head>
<title>Ejemplo 3</title>
</head>
<body>
<?php
echo “Tabla del 2 con el while”;
echo “<br>”;
$f=2;
while ($f<=20)
{
echo $f;
if ($f!=20)
{
echo “-”;
}
$f=$f+2;
}
?>
</body>
</html>

79
Programación web PHP
Unidad 4. Programación en PHP

5.4. EJEMPLO 4
Mostrar en pantalla una tabla de 10 por 10 con los números del 1 al 100.

SOLUCIÓN

<html>
<head>
<title>Ejemplo 4</title>
</head>
<body>
<?php
echo “<table border=1>”;
$n=1;
for ($n1=1; $n1<=10; $n1++)
{
echo “<tr>”;
for ($n2=1; $n2<=10; $n2++)
{
echo “<td>”, $n, “</td>”;
$n=$n+1;
}
echo “</tr>”;
}
echo “</table>”;
?>
</body>
</html>

SALIDA EN EL NAVEGADOR

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100

80
Programación web PHP
Unidad 4. Programación en PHP

6. PROBLEMAS PROPUESTOS
PROBLEMA 1

Concatena dos cadenas con el operador punto (.) e imprimir su resultado.

PROBLEMA 2

Hacer un programa que sume dos variables que almacenan dos números distintos.

PROBLEMA 3

Hacer un euroconversor de euros a pesetas.

El valor de los euros que se quieren convertir deben de estar almacenados en una variable que se llame $euros.

PROBLEMA 4

Realizar un Programa en PHP que calcula el área de un triangulo cuya formula es a=(b*h)/2.

Los valores de la base y la altura están almacenados en variables.

PROBLEMA 5

Escribir un programa que escriba todos los múltiplos de 3 del número 1 al 1500.

81
Programación web PHP
Unidad 4. Programación en PHP

RESUMEN
Un script PHP está formado por una serie de reglas, variables, operadores y estructuras de control que permiten dar solución
al problema planteado.

En PHP las variables se representan con un signo de dólar ($) seguido por el nombre de la variable. El nombre de la variable
es sensible a minúsculas y mayúsculas.

Las variables pueden contener valores de diferentes tipos.

Las constantes son valores que no varían a lo largo del programa.

Los operadores son caracteres o símbolos especiales que se utilizan para realizar ciertas operaciones sobre uno o más
valores. Existen operadores de diferentes tipos.

Las estructuras de control permiten redirigir el flujo de ejecución del código del programa.

En esta unidad se han visto los elementos principales de los que consta un Script PHP. En la próxima unidad veremos cómo se
trabaja con funciones en PHP.

82
Programación web PHP
Unidad 5. Las funciones en PHP

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 5. Las funciones en PHP

INTRODUCCIÓN
En la programación PHP y en la programación en general, se puede encapsular código reutilizable, para evitar tener que
repetir código que haría ineficiente la ejecución del programa.

Esto facilita construir un código mucho más estructurado y limpio para su posterior mantenimiento. El código sólo se escribe
una vez y puede invocarse las veces que se necesite en cualquier punto del script PHP. En esta unidad se muestra cómo crear
esos bloques de código, su invocación y qué resultados puede devolver.

CONOCIMIENTOS PREVIOS

Antes de comenzar a estudiar esta unidad es recomendable conocer:

• Los conceptos estudiados en las cuatro primeras unidades.

• Conocimientos básicos de HTML.

• Acceso a carpetas del PC a través del administrador de archivos.

• Acceso a recursos complementarios de programación en la Web.

AL FINALIZAR ESTA UNIDAD SABRÁS...


• Crear funciones definidas por el usuario.

• Saber como se invocan.

• Devolver valores de retorno.

• Asignar valores a los parámetros por defecto.

• Conocer algunas funciones predefinidas en PHP.

84
Programación web PHP
Unidad 5. Las funciones en PHP

1. LAS FUNCIONES
A medida que los programas PHP son más complejos, es frecuente encontrarnos con código necesario que realice la misma
tarea. Por ejemplo, comprobar si un número es primo o calcular el IVA de una cantidad.

Cada vez que se tuviera que comprobar si el número es primo, habría que programar y repetir el código necesario que me
indicara si ese número es primo o no.

Para evirtar la repetición de código se utilizan las funciones, que son componentes de programación reutilizables y funcionan
como bloques de código independientes. Esto reduce la cantidad de código a escribir y también hace que el script sea mucho
más claro, conciso a la hora de comprenderlo y de mantenerlo.

PHP permite crear funciones por el propio usuario y también dispone de funciones predefinidas en PHP.

2. FUNCIONES CREADAS POR EL USUARIO


Cuando se trabaja con funciones creadas por el usuario en PHP, son necesarios tres pasos fundamentales para poder
utilizarlas:

1. Definir la función.

2. Invocar la función.

3. Obtener el resultado de la función y usarlo en el resto del script.

Sólo es necesario crear la función una vez y puede ser invocada tantas veces como se quiera en el resto del script. Las
funciones se pueden definir en el propio fichero php donde está el script principal o pueden ser creadas en otro fichero PHP
y hacer referencia a él.

De esta manera, podríamos tener un fichero denominado funciones.php, donde se incluyan todas las funciones necesarias y
luego invocarlas en mi programa principal. Esta inclusión se haría con la sentencia include(), de la siguiente manera:

EJEMPLO
<?php
.....
include(“ficheros.php”);
.....
.....
?>

85
Programación web PHP
Unidad 5. Las funciones en PHP

De esta manera es como si el código incluido en ficheros.php, lo hubiera escrito directamente en el script principal. En ese
fichero también se pueden incluir constantes, o variables e inicializarlas.

PRESTA ATENCIÓN

Es importante ubicar el fichero a incluir con la sentencia include, en el mismo subdirectorio donde está el
fichero principal. Si se encontrara en otra ubicación, se deberá indicar su path completo.

ACTIVIDAD

Crear un fichero2.php que contenga las siguientes variables:


• $Valor1=1;

• $Valor2=2;

Utilizando la sentencia include(), crear el fichero1.php que incluya el fichero fichero2.php e imprima los
valores de las variables indicadas con la instrucción echo().

2.1. SINTAXIS
La sintaxis que define una función en PHP se define a continuación:

<?php

function nombre ([$arg1, $arg2, ......, $argN ])

//sentencias de la función

return [valor];

?>

86
Programación web PHP
Unidad 5. Las funciones en PHP

Se detallan las partes de dicha función:

• Lo primero que aparece es la palabra reservada function, que le indica al intérprete que las sentencias que vienen a
continuación corresponden al código de una función.

• Después se indica el nombre de dicha función. Para poner nombre a la función hay que seguir las mismas normas que
para la definición de los nombres de las variables, es decir, no usar espacios en blanco, ni caracteres especiales, etc.. Es
importante utilizar un nombre que sea identificativo de lo que realiza la función.

• Entre paréntesis van los argumentos que va a utilizar la función para realizar las operaciones necesarias. Estos parámetros
se indican cuando se invoca a la función. No son obligatorios y una función puede no tener argumentos.

• Entre llaves es donde se coloca el código propio de la función.

• Por último, la sentencia return se encarga de devolver el valor de la función, a traves de la variable que se indique en valor.
Con esta instrucción se finaliza la función.

A modo de ejemplo se muestra una función que devuelve la multiplicación de dos números que se pasan como parámetros.

EJEMPLO
<?php
function multiplicador($numero1, $numero2)
{
$resultado = ($numero1 * $numero2);
return $resultado;
}
?>

HAZLO TÚ MISMO

Realizar una función en PHP que devuelva la suma de dos números y el resultado lo multiplique por 2.

87
Programación web PHP
Unidad 5. Las funciones en PHP

2.2. INVOCAR A LAS FUNCIONES


En el apartado anterior se ha detallado cómo se definen las funciones. En este apartado se va a describir cómo invocarlas
desde nuestro script. Se realiza de la siguiente manera:

$retorno = multiplicador($num1, $num2);

• $retorno: En esta variable se almacena el valor que devuelve la función.

• multiplicador: Nombre de la función.

• $num1: parámetro 1.

• $num2: parámetro 2.

A continuación se muestra un ejemplo donde se utiliza la función definida anteriormente para devolver la multiplicación de
los dos números que se envían como parámetros.

EJEMPLO
<html>
<head><title> Ejemplo de funciones </title>
<?php
function multiplicador($numero1, $numero2)
{
return ($numero1 * $numero2);
}
?>
</head>
<body>
<br>
<?php
echo “ ---- Valores de la multiplicación ---- “;
echo “<br>Ejemplo1: 12 * 23 = “ . multiplicador(12,23);
echo “<br>Ejemplo2: 14 * 12 = “ . multiplicador(14,12);
?>
</body>
</html>

88
Programación web PHP
Unidad 5. Las funciones en PHP

Como se observa en el mismo fichero php, se ha definido la función multiplicador y luego se ha invocado con los parámetros
que se han elegido.

PRESTA ATENCIÓN

Normalmente la definición de la función PHP se realiza entre las etiquetas <HEAD>....</HEAD>. En cuanto a
su invocación se suele realizar entre las etiquetas <BODY>...</BODY>. Su ubicación dependerá de dónde se
quiera mostrar el resultado, por ejemplo, dentro de una tabla, al final de un bloque, etc...

HAZLO TÚ MISMO

Realiza el mismo ejemplo anterior pero extrayendo la función en otro fichero que se llame funciones.php y
luego utilizar la sentencia include(), para incluirlas en el fichero principal.

2.3. RETORNO DE LAS FUNCIONES


El retorno de las funciones se realiza con la palabra reservada return. No siempre es necesario devolver un valor. Por ejemplo,
se puede utilizar una función que simplemente imprima un encabezado, como se muestra en el siguiente ejemplo:

EJEMPLO
<?php
funcion encabezado($cabecera)
{
echo $cabecera;
return;
}
?>

89
Programación web PHP
Unidad 5. Las funciones en PHP

HAZLO TÚ MISMO

Utiliza la función encabezado() para que muestre el siguiente mensaje:


• “Hola Mundo PHP”

2.4. ALCANCE DE LAS VARIABLES


Cuando se invocan a las funciones desde el script php se envían una serie de parámetros que en algunos casos son valores
constantes y en otros variables. Por ejemplo:

• $resultado=multiplicador(4,5); // Valores definidos directamente.

• $resultado=multiplicador($num1,$num2); // Valores definidos a través de variables.

Hay que hacer constar que cuando se usan variables como parámetros, dichas variables se envían por valor y no por su
referencia en memoria. Por lo tanto, si dicha variable se modifica en el interior de la función, cuando se haga referencia a ella
fuera de la función, seguirá manteniendo su valor inicial. Todo esto se ve más claro con un ejemplo:

EJEMPLO
<?php
$var1 = 15;
function prueba($arg1)
{
$arg1 = “67”;
echo $arg1; // Esto mostrará 67
}
prueba ($var1);
echo $var1; // Esto mostrará 15
?>

Como se observa la variable $var1, sigue manteniendo su valor inicial.

90
Programación web PHP
Unidad 5. Las funciones en PHP

ACTIVIDAD

Investiga por internet, como sería el envío de parámetros a funciones por referencia, y muestra un ejemplo
similar al anterior, donde se vea que la variable si se modifica.

2.5. PARÁMETROS POR DEFECTO


Cuando en la definición de una función existen parámetros y en su invocación no se suministran dichos parámetros, existe la
opción de asociarles valores por defecto.

Vamos a mostrarlo con un ejemplo:

EJEMPLO
<?php
function mostrarColor ($color = “verde”)
{
return “El color indicado es $color”;
}
echo mostrarColor ();
echo “<br>”;
echo mostrarColor (“rojo”);
?>

El resultado obtenido sera:

El color indicado es verde.


El color indicado es rojo.

Como se observa, la función simplemente imprime el color que se envía como parámetro. En el caso en el que no se envíe
ningún parámetro, se imprimirá el color verde.

91
Programación web PHP
Unidad 5. Las funciones en PHP

HAZLO TÚ MISMO

Realizar una función donde existan dos parámetros que dispongan de valores por defecto.

3. FUNCIONES PREDEFINIDAS EN PHP


En el apartado anterior se ha detallado cómo crear funciones creadas por el usuario. Sin embargo, PHP consta de funciones
predefinidas que nos permite trabajar con las variables definidas en nuestro script, o con valores del sistema. Hay alrededor
de 4500 funciones predefinidas en PHP, y se puede consultar en la siguiente dirección agrupadas por temas:

• http://www.php.net/manual/es/funcref.php

Para conocer su sintaxis, los parámetros que necesita, la función que realiza y el valor devuelto, es necesario acceder a dicha
página donde se detalla toda esta información.

Entre los grupos de funciones que podemos encontrar tenemos:

• Funciones de fechas y horas. • Funciones para bases de datos.

• Funciones para el manejo de errores. • Funciones de red.

• Funciones con directorios. • Funciones de información sobre php.

• Funciones para el manejo de archivos. • Funciones de ejecución de programas.

• Funciones http. • Funciones para el manejo de sesiones.

• Funciones de imágenes. • Funciones de cadenas.

• Funciones matemáticas. • Funciones de variables.

En los siguientes puntos se muestran algunos ejemplos de funciones predefinidas en PHP.

92
Programación web PHP
Unidad 5. Las funciones en PHP

3.1. FUNCIONES PARA EL MANEJO DE CADENAS


Este tipo de funciones trabajan con las variables de tipo String. A continuación se muestran algunos ejemplos:

STRLEN()

SINTAXIS:

strlen ( string $string )

Devuelve la longitud del string dado.

EJEMPLO:

<?php

$saludo=”hola”;

echo strlen($saludo); // Devuelve 4.

?>

SUBSTR

SINTAXIS:

substr ( string $string , int $start [, int $length ] )

Devuelve una parte del string definida por los parámetros start y length.

EJEMPLO:

<?php

$saludo=”hola mundo”;

echo substr($saludo,5,5); // Devuelve mundo.

?>

93
Programación web PHP
Unidad 5. Las funciones en PHP

Otros ejemplos de funciones para el tratamiento de cadenas se listan a continuación:

• STR_REPLACE: Esta función se utiliza para reemplazar caracteres dentro de una cadena de caracteres.

• STRTOLOWER Y STRTOUPPER: Las funciones strtolower y strtoupper transforman una cadena de caracteres en la misma
cadena en minúsculas o mayúsculas respectivamente.

• COUNT_CHARS: La función count_chars sirve para contar el número de apariciones de un carácter en una cadena.

• STRCMP: Realiza la comparación de Strings.

• Etc.

HAZLO TÚ MISMO

Investiga por internet la función STR_REPLACE() y crea un script php.

3.2. FUNCIONES DE FECHAS Y HORAS


Este tipo de funciones trabajan con fechas y horas. A continuación se muestra un ejemplo.

DATE()

SINTAXIS:

date ( string $format [, int $timestamp = time() ] )

Devuelve una cadena formateada según el formato dado usando el parámetro de tipo integer timestamp dado o el momento
actual si no se da una marca de tiempo.

EJEMPLO:

<?php

echo date(‘l jS \of F Y h:i:s A’);

// Devuelve Monday 31st of August 2015 10:12:42 PM

?>

94
Programación web PHP
Unidad 5. Las funciones en PHP

Los parámetros del formateo de la fecha se puede consultar en la página de referencia de PHP.

Otros ejemplos de funciones para el tratamiento de fechas y horas se listan a continuación:

• SETTIME: Establece la hora.

• CHECKDATE: Valida una fecha.

• LOCALTIME: Obtiene la fecha y la hora actual.

HAZLO TÚ MISMO

Investiga por internet la función LOCALTIME() y crea un script PHP.

3.3. FUNCIONES MATEMÁTICAS


Estas funciones se utilizan para trabajar con valores matemáticos. Se muestran algunos ejemplos.

MAX()

SINTAXIS:

max ( $value1 , $value2 [, $... ] )

Devuelve el mayor de los valores proporcionados.

EJEMPLO:

<?php

$var1=5;

$var2=6;

$var3=9;

echo max($var1,$var2,$var3); //Devuelve 9

?>

95
Programación web PHP
Unidad 5. Las funciones en PHP

ROUND()

SINTAXIS:

round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

Redondea el valor decimal indicado.

EJEMPLO:

<?php

$var1=5.65;

$var2=5.43;

echo round($var1); //Devuelve 6

echo “<br>”;

echo round($var2); //Devuelve 5

?>

Otros ejemplos de funciones para el tratamiento de valores matemáticos son:

ABS:

Calcula el valor absoluto del valor indicado.

COS:

Calcula el coseno del valor indicado.

SIN:

Calcula el seno del valor indicado.

HAZLO TÚ MISMO
Crear un script PHP la función ABS().

96
Programación web PHP
Unidad 5. Las funciones en PHP

RESUMEN
Gracias a las funciones se puede reutilizar código.

Existen funciones creadas por el usuario y otras que vienen predefinidas en PHP.

Las funciones se definen y son invocadas desde el script PHP, obteniendo un resultado que puede ser tratado en el resto del
programa.

Las funciones predefinidas son más de 4.500 y están agrupadas según su funcionalidad.

En esta unidad se ha visto cómo trabajar con funciones para reutilizar código. En la siguiente unidad se verá cómo se trabaja
con formularios HTML y su relación con scripts en PHP.

97
Programación web PHP
Unidad 6. Los formularios

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 6. Los formularios

INTRODUCCIÓN
Los programas que hemos desarrollado hasta ahora no han dependido de valores introducidos por el usuario a través de una
página web. Las variables estaban incluidas en el propio código PHP.

En esta unidad vamos a mostrar cómo se interactúa con el usuario a través de los formularios HTML y cómo podemos procesar
la información que envíe el cliente web. Es una característica de un sitio web dinámico poder presentar diferentes resultados
dependiendo de los valores introducidos.

CONOCIMIENTOS PREVIOS

Antes de comenzar a estudiar esta unidad es recomendable conocer:

• Los conceptos explicados en los cinco temas anteriores del curso.

• Los aspectos básicos de HTML.

• Como se trabaja con formularios en HTML.

AL FINALIZAR ESTA UNIDAD SABRÁS...


• Conocer los elementos principales de un formulario HTML.

• Enviar información del formulario a través de los métodos GET y POST.

• Procesar la información enviada desde el formulario.

99
Programación web PHP
Unidad 6. Los formularios

1. LOS FORMULARIOS
Los formularios permiten a los usuarios de una página web introducir información que será enviada al servidor para su
tratamiento. Ese tratamiento puede consistir en:

• Mostrar la información recibida.

• Interactuar con una base de datos.

• Grabar información en un fichero.

• Llamar a otra página PHP con los valores introducidos.

• Etc.

En este punto vamos a resumir los aspectos básicos de los formularios en HTML.

UNA VENTANA AL MUNDO

Para una referencia completa de las etiquetas y atributos que podemos usar en los formularios HTML,
disponemos del siguiente enlace:

• http://www.w3schools.com/html/default.asp

ACTIVIDAD DE LECTURA

Acceda al enlace indicado anteriormente y repase las etiquetas principales utilizadas en los formularios
HTML.

100
Programación web PHP
Unidad 6. Los formularios

1.1. CARACTERÍSTICAS DE UN FORMULARIO HTML


En una página HTML existen numerosas etiquetas que se utilizan para crear su diseño y contenido. Entre esas etiquetas
tenemos la de los formularios, cuya sintaxis se muestra a continuación:

SINTAXIS SIMPLIFICADA FORMULARIO HTML

<form

[ action=”url_de_procesamiento” ]

[ method=”GET”|”POST” ]

[ id=”identificador_formulario” ]

>

// Aquí se incluirían los campos que contiene el formulario

...

</form>

Los atributos indicados son:

• action: URL que indica el script PHP que va a procesar la información introducida en el formulario HTML.

• method: Método por el cual se envía la información del formulario HTML al script PHP.

• id: Identificador que se le da al formulario en la página HTML.

A continuación se muestra un ejemplo tipo de creación de un formulario:

EJEMPLO
<form action=”procesar.php” method=”GET” id=”entrada_datos”>
.......
</form>

101
Programación web PHP
Unidad 6. Los formularios

En este ejemplo los campos del formulario entrada_datos van a ser procesados por el script del fichero procesar.php. Los
campos van a llegar al script PHP a través del método GET.

1.2. CAMPOS EN UN FORMULARIO HTML


Los elementos principales y más usuales que se pueden incluir en un formulario HTML se muestran a continuación.

UNA VENTANA AL MUNDO

Para tener una referencia completa de todos los campos que se pueden utilizar y su sintaxis, nos podemos
dirigir al siguiente enlace:

• http://www.w3schools.com/html/default.asp.

CAMPO EJEMPLO

Caja de texto <INPUT TYPE=”text” NAME=”ciudad” VALUE=”Málaga” SIZE=8 MAXLENGTH=20>


Caja de texto para claves <INPUT TYPE=”password” NAME=”clave” SIZE=8 MAXLENGTH=20>
Botones de Selección <INPUT TYPE=”radio” NAME=”musica” VALUE=”Flamenco”>Flamenco

<INPUT TYPE=”radio” NAME=”musica” VALUE=”Pop”>Pop

<INPUT TYPE=”radio” NAME=”musica” VALUE=”Rock”>Rock


Cajas de selección <INPUT TYPE=”checkbox” NAME=”publi” VALUE=”Sí”> Marque si desea publicidad
Botón de envío <INPUT TYPE=”submit” VALUE=”Procesar”>
Campos ocultos <INPUT TYPE=”hidden” NAME=”identificador” VALUE=”8”>
Cajas de texto multilíneas <TEXTAREA NAME=”comentario” COLS=”20” ROWS=”4”>

Ponga aquí su comentario u opinión

</TEXTAREA>
Listas desplegables <SELECT NAME=”provincia”>

<OPTION VALUE=”Sevilla” CHECKED>Sevilla

<OPTION VALUE=”Huelva”>Huelva

</SELECT>

102
Programación web PHP
Unidad 6. Los formularios

ACTIVIDAD

Crea un nuevo debate en el Foro del curso donde muestres algunos campos diferentes a los mostrados.
Para ello puedes acceder al enlace de referencia.

1.3. EJEMPLO DE FORMULARIO


Combinando los campos indicados anteriormente tendríamos un formulario como el siguiente. Se muestra el código HTML y
su salida en el navegador.

FORMULARIO.HTM

<html>
<meta charset=”UTF-8”> // Esta sentencia es para que se acepten los acentos y la ñ.
<head><title>Ejemplo de formulario</title></head>
<body>
<form action=”procesar.php” method=”POST” id=”entrada_datos”>
Nombre de la ciudad: <INPUT TYPE=”text” name=”ciudad” SIZE=8 MAXLENGTH=20>
<BR>
<BR>
Password: <INPUT TYPE=”password” NAME=”clave” SIZE=8 MAXLENGTH=20>
<BR>
<BR>
Tipo de música:
<BR><INPUT TYPE=”radio” NAME=”musica” VALUE=”Flamenco”>Flamenco
<BR><INPUT TYPE=”radio” NAME=”musica” VALUE=”Pop”>Pop
<BR><INPUT TYPE=”radio” NAME=”musica” VALUE=”Rock”>Rock
<BR>
<BR>
Marque si desea publicidad <INPUT TYPE=”checkbox” NAME=”publi” VALUE=”Sí” checked>
<BR>
<BR>
Campo oculto (identificador y es 8)<INPUT TYPE=”hidden” NAME=”identificador” VALUE=”8”>
<BR>
<BR>

103
Programación web PHP
Unidad 6. Los formularios

Cajas de Texto multilínea


<BR>
<TEXTAREA NAME=”comentario” COLS=”60” ROWS=”4”>
</TEXTAREA>
<BR>
<BR>
Listas Despegables
<BR>
<SELECT NAME=”provincia”>
<OPTION VALUE=”Sevilla” CHECKED>Sevilla
<OPTION VALUE=”Huelva”>Huelva
</SELECT>
<BR>
<BR>
<INPUT TYPE=”submit” VALUE=”Procesar”>
</form>
</body>
</html>

SALIDA EN EL NAVEGADOR

104
Programación web PHP
Unidad 6. Los formularios

1.4. MÉTODO GET Y POST


En el ejemplo anterior hemos creado un formulario con una serie de campos de diferente tipología. Cuando se pulse en el botón
Procesar ( el botón submit ), se enviará la información de todos los campos a un fichero que se encargará de procesar esos
datos.

Si nos fijamos en los atributos de la etiqueta form del ejemplo tenemos los siguientes valores:

<form action=”procesar.php” method=”POST” id=”entrada_datos”>

• action=”procesar.php”. Este es el fichero php que va a contener el script php que va a procesar la información enviada.

• method=”POST”. En este caso se ha elegido el método post para el envío de la información. De esta manera los datos no
aparecerán en la URL del fichero procesar.php, sino que se envían de manera oculta.

Si se hubiera indicado el método “GET”, los valores de los campos irían indicados en la URL del fichero procesar.php,
comenzando con el símbolo ? y separando los campos con el símbolo &.

EJEMPLO

• URL cuando se envía la información con el método GET:

• URL cuando se envía la información con el método POST:

PRESTA ATENCIÓN

El método GET se utiliza cuando la información que se envía no es sensible y no importa que sea pública.
En el resto de casos siempre es conveniente utilizar el método POST.

105
Programación web PHP
Unidad 6. Los formularios

ACTIVIDAD

Crea un formulario que sirva para el login de un usuario al sistema. Los campos que debe de contener son:
• Caja de texto para el usuario.

• Caja de texto para la password.

• Checkbox para que recuerde la contraseña.

• Botón para el envío del formulario.

2. TRATAMIENTO EN PHP
En el apartado anterior hemos visto los aspectos básicos para crear un formulario en HTML y su envío al script PHP. Según
el método de envío por parte del formulario HTML (GET o POST), la recuperación y el tratamiento de los datos será diferente.

Es muy importante que cada uno de los campos que se hayan incluido en el formulario HTML, conste del atributo NAME=”nombre
del campo”, pues ese va a ser el identificativo que se va a utilizar en la página PHP para poder recuperar su valor.

En los campos de tipo texto, password o Textarea entre otros, se recupera el texto introducido. En los campos de elección, como
botones tipo radio, checkbox o select, el valor que se recupera es el indicado en el atributo VALUE.

2.1. MÉTODO GET


Cuando se utiliza el método GET como método de envío de la información del formulario, la URL contiene la siguiente
información:

• procesar.php?campo1=valor&campo2&valor ........

Para poder recuperar esa información desde el script PHP, hay que acceder a una variable de tipo array que contiene tanto
el nombre del campo como su valor. Esta variable es $_GET. Para acceder al valor de un determinado campo hay que indicar
su nombre entre corchetes:

• $_GET[‘nombre del campo’]

Teniendo como referencia el ejemplo de formulario de la unidad, si quisieramos acceder y mostrar el valor del campo ciudad
tendríamos que hacerlo de la siguiente manera:

• echo “El nombre de la ciudad introducida es” . $_GET[‘ciudad’];

106
Programación web PHP
Unidad 6. Los formularios

El fichero procesar.php indicado en el ejemplo, muestra toda la información incluida en el formulario. Su codificación se
muestra a continuación:

PROCESAR.PHP CON EL MÉTODO GET

<?php
header(‘Content-type: text/html; charset=utf-8’); // Esta sentencia es para que se acepten los acentos y la ñ.
echo “La ciudad es “ . $_GET[‘ciudad’];
echo “<br>”;
echo “La clave es “ . $_GET[‘clave’];
echo “<br>”;
echo “La música elegida es “ . $_GET[‘musica’];
echo “<br>”;
echo “Tu opción de publicidad es “ . $_GET[‘publi’];
echo “<br>”;
echo “El campo oculto tiene el valor “ . $_GET[‘identificador’];
echo “<br>”;
echo “La caja de texto tiene este contenido: “ . $_GET[‘comentario’];
echo “<br>”;
echo “La provincia elegida es: “ . $_GET[‘provincia’];
?>

PRESTA ATENCIÓN

El nombre del campo que se quiera recuperar del array $_GET debe de ir entre comillas simples.

SALIDA EN EL NAVEGADOR

La salida en el navegador con algunos datos de ejemplo que se han introducido sería el siguiente:
La ciudad es Málaga
La clave es 123456
La música elegida es Pop
Tu opción de publicidad es Sí
El campo oculto tiene el valor 8
La caja de texto tiene este contenido: Texto de ejemplo
La provincia elegida es: Huelva

107
Programación web PHP
Unidad 6. Los formularios

2.2. MÉTODO POST


Cuando se utiliza el método POST como método de envío de la información del formulario, la URL no contiene ningún campo
del formulario. Sólo se llama al fichero que contiene el script PHP.

Para poder recuperar la información del formulario desde el script PHP, hay que acceder a una variable de tipo array que
contiene tanto el nombre del campo como su valor. Esta variable es $_POST. Para acceder al valor de un determinado campo
hay que indicar su nombre entre corchetes:

• $_POST[‘nombre del campo’]

Teniendo como referencia el ejemplo de formulario de la unidad, si quisiéramos acceder y mostrar el valor del campo clave,
tendríamos que hacerlo de la siguiente manera:

• echo “La clave es: “ . $_POST[‘clave’];

El fichero procesar.php indicado en el ejemplo, muestra toda la información incluida en el formulario. Su codificación se
muestra a continuación:

PROCESAR.PHP CON EL MÉTODO POST

<?php
header(‘Content-type: text/html; charset=utf-8’); // Esta sentencia es para que se acepten los acentos y la ñ.
echo “La ciudad es “ . $_POST[‘ciudad’];
echo “<br>”;
echo “La clave es “ . $_POST[‘clave’];
echo “<br>”;
echo “La música elegida es “ . $_POST[‘musica’];
echo “<br>”;
echo “Tu opción de publicidad es “ . $_POST[‘publi’];
echo “<br>”;
echo “El campo oculto tiene el valor “ . $_POST[‘identificador’];
echo “<br>”;
echo “La caja de texto tiene este contenido: “ . $_POST[‘comentario’];
echo “<br>”;
echo “La provincia elegida es: “ . $_POST[‘provincia’];
?>

108
Programación web PHP
Unidad 6. Los formularios

SALIDA EN EL NAVEGADOR

La salida en el navegador con algunos datos de ejemplo que se han introducido sería el siguiente:

La ciudad es Málaga

La clave es 123456

La música elegida es Pop

Tu opción de publicidad es Sí

El campo oculto tiene el valor 8

La caja de texto tiene este contenido: Texto de ejemplo

La provincia elegida es: Huelva

2.3. LA FUNCIÓN ISSET()


En ocasiones algunos campos del formulario se quedan vacíos. El motivo puede ser porque el usuario lo quiera dejar en
blanco o porque se le haya olvidado. Esto puede generar errores en el script PHP si intentamos acceder al valor de un campo
que no existe.

Para comprobarlo existe la función isset():

• Método GET: isset($_GET[’nombre’])

• Método POST: isset($_POST[’nombre’])

La función devuelve True si la variable indicada está vacía y False si contiene algún valor. De esta manera podríamos utilizar
una sentencia condicional del tipo IF para mostrar diferentes resultados según el campo tenga contenido o no.

A continuación se muestra un ejemplo, para comprobar si se ha elegido el tipo de música o no.

109
Programación web PHP
Unidad 6. Los formularios

EJEMPLO
<?php
header(‘Content-type: text/html; charset=utf-8’);
if (isset($_POST[‘musica’]))
echo “La música elegida es “ . $_POST[‘musica’];
else
echo “No has elegido ningún tipo de música”;
?>

HAZLO TÚ MISMO

Realice un script PHP, para comprobar si se ha marcado o no la opción de recibir publicidad en el formulario
de ejemplo. En el caso de que no se haya marcado, poner el texto: “No se ha pedido publicidad”.

110
Programación web PHP
Unidad 6. Los formularios

RESUMEN
Los formularios permiten al usuario introducir información e interactuar con la página web.

La información introducida en el formulario se puede enviar para que sea visible en la URL ó esté oculta.

La recuperación de la información en el script PHP se realiza a través del array $_GET[] y $_POST[], según el método de envío.

La función isset() nos permite comprobar si un campo del formulario se ha envíado vacío.

En esta unidad hemos visto como trabajar con formularios. En la siguiente veremos como acceder a base de datos desde PHP.

111
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

SCORM Realizado según norma

STANDARD UNE 66181


Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

INTRODUCCIÓN
Una de las ventajas que tiene trabajar con páginas dinámicas es poder procesar la información que se encuentra almacenada
en una base de datos para poder organizar, actualizar y buscar los datos necesarios de una manera mucho más rápida y
simple.

En esta unidad veremos los aspectos básicos para trabajar con bases de datos y como acceder a la información almacenada
desde un script PHP.

CONOCIMIENTOS PREVIOS

Antes de comenzar a estudiar esta unidad es recomendable conocer:

• Los conceptos explicados en los seis temas anteriores del curso.

• Los aspectos básicos de HTML.

• La instalación y puesta en marcha de WampServer.

AL FINALIZAR ESTA UNIDAD SABRÁS...


• Identificar los aspectos principales de una base de datos.

• Crear una base de datos.

• Crear una tabla.

• Realizar consultas básicas en SQL.

• Acceder a la Base de datos desde PHP.

113
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

1. BASE DE DATOS

DEFINICIÓN

Una base de datos se puede considerar como un gran almacén que nos permite guardar grandes volúmenes
de información de manera organizada para poder acceder a ella.

Esta información permanece almacenada de manera permanente y suele estar ubicada en un servidor con características
especiales en cuanto a seguridad y fiabilidad. Hay que tener en cuenta que la información almacenada en una base de datos
es vital para que el programa funcione.

Existen en el mercado numerosos gestores de bases de datos como Oracle y Sql Server, que son comerciales, ó PostgreSql y
MySql, que son gratuitos y de código abierto. En la unidad se va a trabajar con MySql, que forma parte del paquete WampServer.

DEFINICIÓN

Una base de datos está formada por tablas. Una tabla está formada por un conjunto de campos (columnas),
y por registros (filas), que van a almacenar la información de manera estructurada. El número de tablas que
contendrá la base de datos dependerá de la información que necesitemos almacenar.

ACTIVIDAD

Crear un tema de debate en el foro e indica otros gestores de bases de datos gratuitos diferentes a los
mostrados anteriormente.

114
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

1.1. MYSQL
EMySql es un gestor de base de datos relacional, donde las tablas se relacionan entre sí a través de claves. La clave
identifica de manera única cada registro de la tabla. A lo largo de la unidad vamos a trabajar con la base de datos que se
detalla a continuación.

BASE DE DATOS ACD Y TABLA AGENDA

La base de datos se llama ACD ( Andalucía Compromiso Digital ) y contiene la tabla agenda.

TABLA AGENDA

Esta tabla contiene 5 registros ( filas ) y cada registro está compuesto por 5 campos ( columnas ) que almacena la siguiente
información:

• id: clave única que identifica al registro.

• nombre: nombre del contacto.

• dirección: dirección del contacto.

• teléfono: teléfono del contacto.

• email: correo electrónico del contacto.

Cuando se crea la tabla hay que indicar sus campos y que tipo de información va a almacenar. Por ejemplo:

Tipo Char: contiene valores de tipo texto.

Tipo Float: contiene valores decimales.

Tipo Entero: contiene valores enteros.

Etc.

En este caso todos los campos son de tipo texto, salvo id que es de tipo entero.

115
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

PRESTA ATENCIÓN

Al tipo Entero se le puede indicar que tenga el atributo autonumérico activado. De esta manera este campo
se incrementa automáticamente cada vez que se inserte un nuevo registro. Se suele utilizar como clave
porque este campo nunca se va a repetir en otro registro.
No es necesario darle un valor a este campo porque se hace automáticamente.

UNA VENTANA AL MUNDO

En el siguiente enlace puedes acceder a toda la documentación sobre la gestión de base de datos con
MySql.
• http://dev.mysql.com/doc/

HAZLO TÚ MISMO

Diseña una base de datos que contenga una tabla para almacenar la información sobre los datos de una
película.

1.2. PHPMYADMIN
Este programa se instala con el paquete WampsServer, y nos permite trabajar con las bases de datos. Permite entre otras
cosas:

• Crear bases de datos.

• Crear tablas.

• Definir los campos.

116
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

• Introducir datos.

• Realizar consultas sobre las tablas.

• Modificar la información introducida.

• Etc.

Una vez que hayamos instalado WampServer en nuestro ordenador, y estén arrancados los servicios Apache, Php y MySql,
simplemente hay que acceder a la siguiente dirección

• http://localhost/phpmyadmin/

UNA VENTANA AL MUNDO

En el siguiente enlace dispones de toda la documentación sobre este programa.

• http://docs.phpmyadmin.net/es/latest/

HAZLO TÚ MISMO

Crea la base de datos acd y la tabla agenda tal y como se muestra en el videotutorial. Esta base de datos
nos servirá para el resto de ejemplos que vienen en la unidad.

2. LENGUAJE SQL
Para poder trabajar con los datos almacenados en las tablas de la base de datos se utiliza un lenguaje declarativo llamado
SQL (Structure Query Language). Este lenguaje contiene tres tipos de sentencias:

• Sentencias de definición: permiten crear bases de datos, tablas, usuarios, vistas, etc.

• Sentencias de manipulación: permiten consultar, insertar, modificar y borrar los datos de las tablas.

• Sentencias de control: permiten controlar usuarios, seguridad, transacciones, permisos, etc.

117
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

En este curso la definición y el control de la base de datos lo vamos a realizar con PhpMyAdmin. En cuanto a las sentencias
de manipulación se van a mostrar aquellas que son básicas para las operaciones más comunes.

UNA VENTANA AL MUNDO

Para una referencia completa de las sentencias de manipulación del lenguaje SQL se puede acceder a la
siguiente referencia:

• http://www.w3schools.com/sql/

DEFINICIÓN

• Las sentencias de definición pertenecen al DDL (Data Definition Language).

• Las sentencias de manipulación pertenecen al DML (Data Manipulation Language)

• Las sentencias de control pertenecen al DCL (Data Control Language)

En los siguientes apartados se detallan las sentencias de manipulación que permiten realizar las siguientes operaciones:

• Seleccionar registros.

• Insertar registros.

• Modificar registros.

• Borrar registros.

118
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

2.1. SELECCIONAR REGISTROS


Para seleccionar determinados registros de una tabla se utiliza la sentencia SELECT.

SINTAXIS

SELECT “nombre_columna1, nombre_columna2, ...”

FROM “nombre_tabla”

[WHERE “condición”]

[ORDER BY “nombre_columna” ASC, DESC];

Los elementos que aparecen entre [] indican que es opcional, es decir, puede aparecer o no en la sentencia SELECT.

DESCRIPCIÓN:

• SELECT “nombre_columna1, nombre_columna2, ....”: Columnas que se van a mostrar en la consulta.

• FROM “nombre_tabla”: Tabla sobre la que se realiza la consulta.

• WHERE “condición”: Condición que debe de cumplir los registros seleccionados.

• ORDER BY “nombre_columna”: Columna sobre la cual se van a ordenar los resultados obtenidos.

Cuando se ejecuta una sentencia SELECT se obtiene una subtabla con las columnas solicitadas y con los registros que
cumplen las condiciones indicadas.

EJEMPLO 1

Seleccionar el nombre y la dirección de los contactos de la tabla agenda cuyo id sea mayor de 3, ordenados por id.

• SELECT nombre, direccion FROM agenda WHERE id>3 ORDER BY id

EJEMPLO 2

Seleccionar el nombre y el email de todos los contactos de la tabla agenda.

• SELECT nombre, email FROM agenda

119
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

2.2. INSERTAR REGISTROS


Para insertar registros en una tabla de la base de datos se utiliza la sentencia INSERT.

SINTAXIS

INSERT INTO “nombre_tabla” (“columna1”, “columna2”, ...)

VALUES (“valor1”, “valor2”, ...);

DESCRIPCIÓN:

• SINSERT INTO “nombre_tabla” (“columna1”, “columna2”, ...): se indican las columnas de la tabla donde se van a
insertar valores.

• VALUES (“valor1”, “valor2”, ...): valores que se van a incluir en las columnas indicadas anteriormente.

A diferencia de la sentencia SELECT, en este caso no se obtiene una subtabla como resultado de la ejecución de dicha
sentencia.

Si no ocurre ningún error se insertaría un nuevo valor en la tabla. Para visualizar si se ha insertado correctamente, se puede
utilizar el programa PhpMyAdmin o realizar una sentencia SELECT que muestre todos los registros de la tabla.

EJEMPLO

Se inserta un nuevo registro con los siguientes valores

• INSERT INTO agenda (nombre, direccion, telefono, email) VALUES (‘Antonio Martín Ruiz’,’Calle de los riscos, 3 23568
Madrid’,’678945687’,’amartin@gmail.com’);

2.3. MODIFICAR REGISTROS


Para modificar los registros de una tabla se utiliza la sentencia UPDATE.

SINTAXIS

UPDATE “nombre_tabla”

SET “columna_1” = [nuevo valor]

WHERE “condición”;

120
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

DESCRIPCIÓN:

• UPDATE “nombre_tabla”: tabla sobre la que se va a realizar la modificación.

• SET “columna_1” = [nuevo valor]: se cambia el valor de la columna_1, por el nuevo valor indicado.

• WHERE “condición”: condición que deben cumplir los registros para que se realice la modificación.

A diferencia de la sentencia SELECT, en este caso no se obtiene una subtabla como resultado de la ejecución de dicha
sentencia.

Si no ocurre ningún error se modificaría el valor de la columna indicada. Para visualizar si se ha modificado correctamente, se
puede utilizar el programa PhpMyAdmin o realizar una sentencia SELECT que muestre todos los registros de la tabla.

EJEMPLO

Se modifica el teléfono del registro cuyo identificador es el 4.

• UPDATE agenda SET telefono=’654876523’ WHERE id=4;

2.4. BORRAR REGISTROS


Para borrar registros de una tabla se utiliza la sentencia DELETE.

SINTAXIS
DELETE FROM “nombre_tabla”

WHERE “condición”;

DESCRIPCIÓN:

• DELETE FROM “nombre_tabla”: tabla sobre la que se va a realizar el borrado

• WHERE “condición”: condición que deben cumplir los registros para que sean borrados

A diferencia de la sentencia SELECT, en este caso no se obtiene una subtabla como resultado de la ejecución de dicha
sentencia.

Si no ocurre ningún error se borrará el registro indicado. Para visualizar si se ha borrado correctamente, se puede utilizar
el programa PhpMyAdmin o realizar una sentencia SELECT que muestre todos los registros de la tabla y comprobar si
verdaderamente se ha borrado.

121
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

EJEMPLO

Borrar el contacto cuyo identificador sea 1.

• DELETE FROM agenda WHERE id=1;

ACTIVIDAD

Crea 4 sentencias SQL que realicen lo siguiente:


• Listar el contacto con id=3

• Insertar un nuevo registro en la tabla agenda.

• Modificar el registro insertado anteriormente cambiándole la dirección.

• Borrar el registro insertado.

3. PHP Y LAS BASES DE DATOS


En los apartados anteriores hemos visto las características básicas de una base de datos, como se crean las tablas y
algunas de las consultas básicas en SQL para acceder a la información almacenada.

En este apartado vamos a ver como se accede a la base de datos a traves de un script PHP. En líneas generales en el script
hay que incluir las sentencias necesarias para realizar las siguientes acciones:

1. Conectar con la base de datos.

2. Indicar la tabla con la que vamos a trabajar.

3. Indicar la sentencia SQL que se quiera ejecutar sobre la tabla indicada.

4. Crear el script php que genera la página HTML con los resultados obtenidos.

5. Cerrar la conexión.

Para mostrar como se trabaja en PHP vamos a seguir usando la tabla agenda de la base de datos ACD, cuya definición y datos
se muestran a continuación:

122
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

Estructura de la tabla Agenda

Datos de la tabla Agenda

Hay dos extensiones en PHP para poder acceder a la base de datos MySql que son:

• mysql_

• mysqli_

mysqli_ es más reciente (versión 5 de PHP) y tiene mayor funcionalidad que mysql_ y es la extensión que vamos a utilizar
en la unidad.

¿SABÍAS QUE…?

La última versión de PHP es la 5.5.12

3.1. CONEXIÓN
La sentencia que permite conectar con la base de datos es mysqli_connect().

SINTAXIS

mysqli_connect(servidor , usuario , contraseña , base de datos , [puerto]);

123
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

PARÁMETROS:

• servidor: nombre o dirección ip del equipo donde está instalado MySql

• usuario: usuario para acceder a la base de datos.

• contraseña: contraseña de acceso.

• base de datos: base de datos a la que se quiere conectar.

• puerto: puerto a través del cual se accede al servidor. Por defecto el puerto utilizado es el 3306.

Esta función devuelve False si no ha podido conectar con la base de datos. Si la conexión se ha realizado sin problemas se
devuelve un identificador de conexión a dicha base de datos.

EJEMPLO

Conexión a la base de datos ACD en local con el usuario “admin” y contraseña “123”.

<?php

$conexion = mysqli_connect(“localhost”, “admin”, “123”, “acd”);

?>

3.2. CONSULTAS SQL EN PHP


La sentencia que permite ejecutar consultas SQL es mysqli_query().

SINTAXIS

mysqli_query(conexion , consulta);

PARÁMETROS:

• conexion: Conexión a la base de datos. Es el valor obtenido con mysqli_connect()

• consulta: Consulta SQL que se quiere realizar

Esta función devuelve False si no se ha podido realizar la consulta SQL sobre la base de datos.

Si la consulta se ha podido realizar sin problemas, devolvería True en el caso de la inserción, modificación y borrado. En el caso
de una sentencia de consulta tipo SELECT, se obtendría un objeto que contiene la subtabla con los campos de los registros
que cumplen las condiciones indicadas en dicha sentencia.

Dependiendo de la consulta SQL, se podrán realizar listados, inserciones, modificaciones o el borrado de registros de la tabla
agenda.

124
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

3.3. CONSULTAS TIPO

LEER REGISTROS

Se obtiene en la variable $resultado los nombres y las direcciones de todos los contactos de la tabla agenda. Si la consulta
es errónea la variable $resultado tendrá el valor False.

<?php

$conexion = mysqli_connect(“localhost”, “admin”, “123”, “acd”);

$resultado= mysqli_query($conexion,”SELECT nombre,direccion FROM agenda”);

?>

INSERTAR REGISTROS

Se inserta en la tabla agenda un nuevo registro. Si la inserción ha sido correcta en la variable $resultado tendremos el valor
True y en caso contrario False.

<?php

$conexion = mysqli_connect(“localhost”, “admin”, “123”, “acd”);

$resultado= mysqli_query($conexion,”INSERT INTO agenda (nombre, direccion, telefono, email) VALUES (‘Antonio Martín
Ruiz’,’Calle de los riscos, 3 23568 Madrid’,’678945687’,’amartin@gmail.com’)”);

?>

MODIFICAR REGISTROS

Se modifica el contacto con id 4 cambiando su número de teléfono. Si la modificación ha sido correcta en la variable
$resultado tendremos el valor True y en caso contrario False.

<?php

$conexion = mysqli_connect(“localhost”, “admin”, “123”, “acd”);

$resultado= mysqli_query($conexion,”UPDATE agenda SET telefono=’654876523’ WHERE id=4”);

?>

125
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

BORRAR REGISTROS

Se borra el contacto con id 4 de la tabla agenda. Si la inserción ha sido correcta en la variable $resultado tendremos el valor
True y en caso contrario False.

<?php
$conexion = mysqli_connect(“127.0.0.1”, “admin”, “123”, “acd”);
$resultado= mysqli_query($conexion,”DELETE FROM agenda WHERE id=1”);
?>

3.4. RECORRER LOS REGISTROS


En el caso de que la consulta sea de tipo SELECT, en la variable $resultado se obtiene un objeto con la subtabla que cumple
los requisitos indicados. Para recorrer esa subtabla se utiliza la función mysqli_fetch_row().

SINTAXIS

mysqli_fetch_row(resultado)

PARÁMETROS:

• resultado: Objeto obtenido con la sentencia mysqli_query().

Cada vez que se llama a esta función se obtiene un registro de manera consecutiva de la subtabla almacenada en resultado.
Por ello es necesaria incluirla en un bucle while. Cuando se llega al final de la subtabla se devuelve False.

Para acceder a los campos del registro hay que indicar el número de columna entre corchetes. A continuación se muestra
un ejemplo.

EJEMPLO

Se listan el id y el nombre de todos los contactos de la agenda.

<?php
$conexion = mysqli_connect(“127.0.0.1”, “admin”, “123”, “acd”);
$resultado= mysqli_query($conexion,”SELECT id,nombre FROM agenda”);

while ($registro = mysqli_fetch_row($resultado))


{
echo “Id: “ . $registro[0] . “ Nombre: “ . $registro[1] . “<br />”;
}
?>

126
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

ACTIVIDAD

Crear un script PHP que se conecte a la base de datos ACD, y borre todos los contactos de la tabla agenda
cuyo id sea menor de 3. Una vez que se hayan borrado los registros, listar los contactos que queden en la
tabla.

4. CASO PRÁCTICO: LA AGENDA


En el siguiente caso práctico se muestra como diseñar una aplicación web para el mantenimiento de la agenda estudiada a
lo largo de la unidad. Esta aplicación permite obtener un listado de los contactos de la agenda, así como insertar, modificar
y borrar registros.

El aspecto de la pantalla principal sería el siguiente:

Los ficheros php de los que consta el programa se muestran a continuación:

127
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

FICHERO ¿QUÉ REALIZA?

Lista todos los contactos de la agenda y muestra los botones del menú principal para realizar las
listado.php
operaciones de inserción, modificación y borrado de contactos.
insertar.php Muestra un formulario para insertar un nuevo registro.
insertar2.php Inserta los valores introducidos en el formulario anterior.
Muestra en un combo los identificadores de todos los contactos de la agenda para indicar que contacto
modificar.php se quiere modificar. Tambien se muestra un cuadro de texto para indicar el nuevo número de teléfono,
que es el campo que se va a modificar.
En esta página se modifica el contacto indicado en el formulario anterior con el teléfono indicado en el
modificar2.php
campo de texto.
Muestra en un combo los identificadores de todos los contactos de la agenda para indicar que contacto
borrar.php
se quiere borrar.
borrar2.php Se borra el contacto indicado en el combo anterior

4.1. LISTADO.PHP

CÓDIGO FUENTE

<html>
<meta http-equiv=”Content-type” content=”text/html; charset=utf-8” />
<body>
<h1>Agenda</h1>

<?php
$link = mysqli_connect(“localhost”,”admin”,”123”,”acd”); // Conexión con la base de datos
mysqli_query($link,”SET NAMES ‘utf8’”); // Permite acentos y la ñ en los campos de la base de datos

// Consulta para recuperar todos los contactos


$resultado= mysqli_query($link,”SELECT id,nombre, direccion, telefono, email FROM agenda”);

// Se construye una tabla con los campos de la tabla agenda


echo “<table border = ‘1’> \n”;
echo “<tr><td>Id</td><td>Nombre</td><td>Dirección</td><td>Teléfono</td><td>E-Mail</td></tr> \n”;

// Se recorren todos los registros y se muestran en la tabla


while ($row = mysqli_fetch_row($resultado))
{

128
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

echo “<tr>”;
echo “<td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td><td>$row[4]</td>”;
echo “</tr>”;
}
echo “</table> \n”;
?>

<br>
<!-- Botones con código javascript para llamar a las páginas insertar, modificar y borrar -->
<input type=”button” value=”Insertar” onclick=”window.location=’insertar.php’”>
<input type=”button” value=”Modificar” onclick=”window.location=’modificar.php’”>
<input type=”button” value=”Borrar” onclick=”window.location=’borrar.php’”>
</body>
</html>

4.2. INSERTAR.PHP

CÓDIGO FUENTE

<html>
<head>
<meta charset=”UTF-8”>
<title>Inserción de registros</title>
</head>
<body>
<h1>Inserción de datos</h1>

<!-- Formulario para la inserción de un nuevo registro -->


<form method=”post” action=”insertar2.php”>
<table>
<tr><td>Nombre:</td><td><input type=”Text” name=”nombre” size=”60”></td></tr>
<tr><td>Dirección:</td><td><input type=”Text” name=”direccion” size=”90”></td></tr>
<tr><td>Teléfono:</td><td><input type=”Text” name=”telefono” size=”9”></td></tr>
<tr><td>email:</td><td><input type=”Text” name=”email” size=”50”></td></tr>
</table>
<br>
<input type=”Submit” name=”enviar” value=”Insertar”>
</form>

129
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

<!-- Enlace que permite volver al listado general si no se quiere finalmente insertar un nuevo registro -->
<a href=”listado.php”>Cancelar</a>
</body>
</html>

SALIDA EN EL NAVEGADOR

4.3. INSERTAR2.PHP

CÓDIGO FUENTE
<html>
<body>

<?php
header(‘Content-Type: text/html; charset=UTF-8’); // Permitir acentos y la ñ en la página

$link = mysqli_connect(“localhost”,”admin”,”123”,”acd”); // Conexión con la base de datos


mysqli_query($link,”SET NAMES ‘utf8’”); // Permite acentos y la ñ en los campos de la base de datos

// Se recuperan los campos del formulario de la página insertar.php


$nombre= $_POST[‘nombre’];
$direccion= $_POST[‘direccion’];
$telefono= $_POST[‘telefono’];
$email= $_POST[‘email’];

// Se inserta el nuevo registro con los valores recuperados


$resultado= mysqli_query($link,”INSERT INTO agenda (nombre, direccion, telefono, email) “ .

130
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

“VALUES (‘$nombre’, ‘$direccion’, ‘$telefono’, ‘$email’)”);

echo “¡Se han insertado los datos correctamente!”


?>

<br><br>

<!-- Enlace para volver al listado general -->


<a href=”listado.php”>Volver al listado</a>
</body>
</html>

4.4. MODIFICAR.PHP

CÓDIGO FUENTE

<html>
<body>

<?php
header(‘Content-Type: text/html; charset=UTF-8’); // Permitir acentos y la ñ en la página
$link = mysqli_connect(“localhost”,”admin”,”123”,”acd”); // Conexión con la base de datos

echo ‘<h1>Modificar datos</h1>’;


echo ‘<FORM METHOD=”POST” ACTION=”modificar2.php”>’;
echo “Identificador: “;

// Sentencia SQL para recuperar todos los id de la tabla agenda


$resultado= mysqli_query($link,”SELECT id FROM agenda order by id”);

// Se construye un combo con los id recuperados de la tabla agenda, para


// poder elegir el que se quiere modificar.
echo ‘<select name=”ficha”>’;

// Se recorren todas las filas recuperadas y se añaden como opciones al combo


while ($row = mysqli_fetch_row($resultado))
{
{echo “<option>” . $row[0];}
}

131
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

?>

</select>
<br><br>

<!-- Campo para indicar el valor del nuevo teléfono -->


Teléfono: <INPUT TYPE=”TEXT” name=”telefono”>
<br><br>
<INPUT TYPE=”SUBMIT” value=”Modificar”>
<br>
</FORM>

<!-- Enlace que permite volver al listado general si no se quiere finalmente modificar el registro -->
<a href=”listado.php”>Cancelar</a>
</body>
</html>

SALIDA EN EL NAVEGADOR

4.5. MODIFICAR2.PHP

CÓDIGO FUENTE

<html>
<body>

<?php
header(‘Content-Type: text/html; charset=UTF-8’); // Permitir acentos y la ñ en la página
$link = mysqli_connect(“localhost”,”admin”,”123”,”acd”); // Conexión con la base de datos

132
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

$id= $_POST[‘ficha’]; // Se recupera que registro se quiere modificar


$telefono= $_POST[‘telefono’]; // Se recupera el nuevo teléfono

// Se modifica el registro indicado con el nuevo teléfono


$resultado= mysqli_query($link,”UPDATE agenda SET telefono=’$telefono’ WHERE id=’$id’”);

echo “¡Se ha actualizado el registro indicado!”


?>

<br><br>
<!-- Enlace para volver al listado general-->
<a href=”listado.php”>Volver al listado</a>
</body>
</html>

4.6. BORRAR.PHP

CÓDIGO FUENTE

<html>
<body>

<?php
header(‘Content-Type: text/html; charset=UTF-8’); // Permitir acentos y la ñ en la página
$link = mysqli_connect(“localhost”,”admin”,”123”,”acd”); // Conexión con la base de datos

echo ‘<h1>Borrar datos</h1>’;


echo ‘<FORM METHOD=”POST” ACTION=”borrar2.php”>’;
echo “Identificador: “;

// Sentencia SQL para recuperar todos los id de la tabla agenda


$resultado= mysqli_query($link,”SELECT id FROM agenda order by id”);

// Se construye un combo con los id recuperados de la tabla agenda, para


// poder elegir el que se quiere modificar.
echo ‘<select name=”ficha”>’;

// Se recorren todas las filas recuperadas y se añaden como opciones al combo

133
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

while ($row = mysqli_fetch_row($resultado))


{
{echo “<option>” . $row[0];}
}
?>

</select>

<br><br>

<INPUT TYPE=”SUBMIT” value=”Borrar”>

</FORM>

<!-- Enlace que permite volver al listado general si no se quiere finalmente borrar el registro -->

<a href=”listado.php”>Cancelar</a>

</body>

</html>

SALIDA EN EL NAVEGADOR

4.7. BORRAR2.PHP

CÓDIGO FUENTE

<html>
<body>

<?php
header(‘Content-Type: text/html; charset=UTF-8’); // Permitir acentos y la ñ en la página

134
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

$link = mysqli_connect(“localhost”,”admin”,”123”,”acd”); // Conexión con la base de datos

$id= $_POST[‘ficha’]; // Se recupera qué registro se quiere borrar

// Se borra el registro indicado


$resultado= mysqli_query($link,”DELETE FROM agenda WHERE id=’$id’”);

echo “¡Se ha borrado el registro indicado!”


?>

<br><br>
<!-- Enlace para volver al listado general-->
<a href=”listado.php”>Volver al listado</a>
</body>
</html>

HAZLO TÚ MISMO

Comprueba en local que el código fuente de todas las páginas php indicadas funcionan y que se realiza
correctamente el mantenimiento de la agenda.

135
Programación web PHP
Unidad 7. Acceso a Base de datos con PHP

RESUMEN
Las bases de datos permiten tener la información estructurada para que su acceso sea rápido y fiable.

Existen numerosos gestores de bases de datos tanto comerciales como gratuitos.

PHPMyAdmin es un entorno que permite trabajar con las base de datos.

El lenguaje SQL permite manipular la información almacenada.

Existen funciones en PHP para poder acceder a los datos almacenados.

136
Programación web PHP
Sigue la actualidad de Andalucía Compromiso Digital

FIN

Web
www.andaluciacompromisodigital.org
Correo electrónico
andalucia.compromisodigital@juntadeandalucia.es
Facebook
www.facebook.com/andaluciacompromisodigital
Twitter
@andaluciacompdig

Vous aimerez peut-être aussi