Beruflich Dokumente
Kultur Dokumente
Autores
JORGE EDUARDO SALAZAR ZUIGA
ORLANDO PUENTES ANDRADE
CONTENIDO
UNIDAD 1
1
Pg.
INTRODUCCIN ...................................................................................................... 14
OBJETIVO GENERAL ................................................................................................... 14
ESTRUCTURA TEMTICA .......................................................................................... 14
CONCEPTOS BSICOS ................................................................................................. 14
Qu es PHP?
14
Caractersticas de PHP
15
Qu puedo hacer con PHP?
15
PHP, el intrprete y el servidor
16
INSTALACIN Y CONFIGURACIN DEL INTRPRETE.............................. 18
INTRODUCCIN............................................................................................................ 18
OBJETIVO GENERAL ................................................................................................... 18
OBJETIVOS ESPECFICOS ........................................................................................... 18
ESTRUCTURA TEMTICA .......................................................................................... 18
INSTALACIN Y CONFIGURACIN DEL INTRPRETE........................................ 18
Definiendo la instalacin .................................................................................................. 18
Instalacin de PHP
Instalacin en Sistemas Win32 (Modo CGI)
Instalacin en Sistemas Win32 (Modo ISAPI)
Instalacin en Sistemas UNIX
VARIABLES, TIPOS DE DATOS, MBITO DE LAS VARIABLES Y
19
19
21
21
FUNCIONES DE APOYO................................................................................................. 24
INTRODUCCIN............................................................................................................ 24
OBJETIVO GENERAL ................................................................................................... 24
OBJETIVOS ESPECFICOS ........................................................................................... 24
ESTRUCTURA TEMTICA .......................................................................................... 24
UN PROGRAMA PHP .................................................................................................... 25
Salida de datos
VARIABLES Y TIPOS DE DATOS
26
26
Datos numricos
27
Datos alfanumricos.
27
Datos Booleanos
28
Datos de tipo Arreglo
28
MBITO DE LAS VARIABLES .................................................................................... 28
VALORES DESDE FORMULARIOS ............................................................................ 28
OTRAS VARIABLES IMPORTANTES......................................................................... 29
Variables de PHP
29
FUNCIONES DE APOYO............................................................................................... 30
4
If.
If - Else
ESTRUCTURAS DE SELECCIN COMPUESTAS Y ESTRUCTURAS
35
36
ITERATIVAS SIMPLES................................................................................................... 39
OBJETIVO GENERAL ................................................................................................... 39
OBJETIVOS ESPECFICOS ........................................................................................... 39
ESTRUCTURA TEMTICA .......................................................................................... 39
ESTRUCTURAS DE SELECCIN COMPUESTAS ..................................................... 39
If - Else - If
Switch
Break
Continue
39
41
42
42
While
42
Do - while
43
ESTRUCTURAS ITERATIVAS, SINTAXIS ALTERNATIVA Y FUNCIONES
45
OBJETIVO GENERAL ................................................................................................... 45
OBJETIVOS ESPECFICOS ........................................................................................... 45
ESTRUCTURA TEMTICA .......................................................................................... 45
ESTRUCTURAS ITERATIVAS ..................................................................................... 45
Foreach
46
SINTAXIS ALTERNATIVA........................................................................................... 47
FUNCIONES.................................................................................................................... 48
Parmetros por valor y referencia
Parmetros por defecto
48
49
UNIDAD 2
1
53
55
55
55
56
56
61
63
67
67
68
75
83
84
SESIONES........................................................................................................................ 98
INTRODUCCION
El curso de Programacin de sitios Web - PHP, componente electivo del Programa de
Ingeniera de Sistemas tiene como objetivo la fundamentacin de los conceptos
bsicos del lenguaje de programacin PHP, de los estudiantes del programa de
Ingeniera de Sistemas, programas afines y/o particulares, bajo la estrategia de
educacin abierta y a distancia.
El curso tiene 3 crditos acadmicos los cuales comprenden el estudio independiente y
el acompaamiento tutorial, con el propsito de:
Para el desarrollo del curso es importante el papel que juega los recursos tecnolgicos
como medio activo e interactivo, buscando la interlocucin durante todo el proceso de
dilogo docente-estudiante.
Los materiales impresos en papel, se han convertido en el principal soporte para
favorecer los procesos de aprendizaje autodirigido.
Sitios Web: propician el acercamiento al conocimiento, la interaccin y la
produccin de nuevas dinmicas educativas.
Sistemas de interactividades sincrnicas: permite la comunicacin a travs de
encuentros presnciales directos o de encuentros mediados (Salas de
conversacin, audioconferencias, videoconferencias, tutoras telefnicas, foros)
METAS
Al terminar el curso , el estudiante:
TEMATICA
HORAS
OBJETIVOS
OBJETIVOS
Que el participante mediante el anlisis determine los algoritmos validos que den
solucin a problemas informticos.
COMPETENCIAS
1 INTRODUCCIN
A diferencia de los lenguajes tradicionales, se requiere una serie de conocimientos especiales
para desarrollar aplicaciones con el lenguaje PHP. Es importante que el interesado conozca
HTML, SQL y entienda la filosofa de los servidores Web. En esta sesin se presentan conceptos
para comprender el lenguaje y se exhorta a repasar o aprender los conocimientos
complementarios.
OBJETIVO GENERAL
Revisar los conceptos bsicos, del entorno de programacin PHP. Conociendo los elementos
necesarios para realizar un programa de Aplicacin en este popular lenguaje de generacin
dinmica de contenidos en servidores Web.
ESTRUCTURA TEMTICA
CONCEPTOS BSICOS.
Qu es PHP?
Caractersticas de PHP.
Qu puedo hacer con PHP?
PHP, el intrprete y el servidor.
Reflexin.
CONCEPTOS BSICOS
Qu es PHP?
PHP: HyperText Preprocessor. Es un lenguaje de tipo scripting, que actualmente est siendo
utilizado como una de las mejores alternativas para desarrollar aplicaciones en la Web. Un
lenguaje sencillo de aprender, porque basa su cdigo en las estructuras y notaciones de otros
muy populares lenguajes como C o Basic, adems de ser potente y de alto rendimiento. PHP se
considera como un lenguaje de programacin del lado del servidor (se ejecuta en el servidor
Web), rpido, que posee una gran cantidad de librera de funciones y una amplia documentacin.
Las pginas ejecutadas en el servidor pueden realizar accesos a bases de datos, conexiones en
red, etc. El usuario o cliente recibe una pgina HTML resultante de la ejecucin del cdigo y
pgina PHP.
El lenguaje PHP fue creado por Rasmus Lerdorf en 1994. Sin embargo al ser desarrollado en
poltica de cdigo abierto, ha recibido muchas contribuciones de otros desarrolladores. PHP se
encuentra en la versin 4, que utiliza el motor Zend y cuenta con una extensa librera de
funciones de soporte a los programadores.
Caractersticas de PHP
El cdigo del lenguaje PHP se encuentra embebido en los documentos HTML. PHP puede
interactuar con los principales, y ms comunes, gestores de Bases de Datos en servidores Web.
Se considera un lenguaje robusto y potente que est escrito en lenguaje C, con la gran ventaja
que es gratuito y su cdigo fuente, como el LINUX, est a disposicin de los usuarios. PHP
como todos los lenguajes creados pensando en Internet, soporta diversidad de protocolos de
comunicaciones entre ellos FTP, HTTP, IMAP, etc.
Una de las grandes virtudes del lenguaje es que su cdigo puede ser ejecutado en diversos
sistemas operativos sin realizarle cambios; soportado por las versiones de Windows 95, 98, Me,
NT, 2000, Unix y Linux. Cuando PHP, se monta en servidores Linux u Unix, es ms rpido que
muchos lenguajes como el caso de ASP y tambin aumenta la seguridad comparado con
ambientes Windows; PHP permite configurar el servidor de modo que puede hacer al lenguaje
ms o menos seguro segn necesidades especficas.
Existen tres formas diferentes de instalar el intrprete de PHP: Como un intrprete externo
(modo CGI), Como una extensin del servidor (va NSAPI e ISAPI) o como mdulo interno del
servidor (slo posible en Apache).
Reflexin
El cdigo del lenguaje PHP se encuentra embebido en los documentos HTML, de forma que se
considera muy sencillo procesar informacin dentro de una aplicacin Web desarrollada en el
lenguaje, pero obliga a que un programador que pretenda utilizar PHP, conozca a fondo las
bondades de la programacin con el lenguaje HTML.
Las aplicaciones para la Web, en ocasiones requieren del manejo y control de un conjunto
amplio de datos que se intercambian en la red; PHP como todos los lenguajes de tipo scripting
utilizan para ello Servidores Web como Apache y gestores de bases de datos como MySql. Los
interesados en PHP, deben incrementar a su base de conocimientos, el lenguaje SQL para
manejo de bases de datos que es aplicable a los diferentes gestores, y el manejo de un servidor
WEB para poder interactuar en la red, ya sea en el ambiente Windows o en el ambiente LINUX.
Esta primera sesin propone, entonces, revisar los conocimientos necesarios para poder aprender
el poderoso Lenguaje PHP.
ACTIVIDADES
Realizar un repaso de la programacin de pginas Web, a travs de HTML (HyperText
Markup Languaje).
Realizar un repaso del manejo de Bases de Datos, a travs de SQL (Structured Query
Languaje).
Investigar el funcionamiento de la interfaz CGI (Common Gateway Interface).
AUTOEVALUACIN.
Conoce el lenguaje HTML completamente y puede disear una pgina Web a travs de
l?
Conoce el lenguaje SQL completamente y puede interactuar con una base de datos y su
informacin?
Explique la funcin del servidor en la programacin con el lenguaje PHP.
Que ventajas tiene el lenguaje PHP con respecto a los otros lenguajes?
Que lenguajes existen que compitan en el desarrollo de aplicaciones con PHP?
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Curso SQL. http://www.cybercursos.net/sql/sql.html
Curso SQL http://arcadia.inf.udec.cl/db/
Microsoft SQL Server http://www.microsoft.com/latam/sql/
Tutorial SQL http://www.abcdatos.com/tutoriales/programacion/basesdedatos/sql.html
HTML 4 Iniciacin y referencias. Snchez Garca Jos Ignacio y otros. Editorial Osborn
Mc Graw Hill.
Creacin de aplicaciones Web con PHP 4. Tobias Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVO GENERAL
Determinar el proceso de instalacin de un intrprete para el lenguaje PHP, de las aplicaciones
complementarias para desarrollo, como los Servidores Web, y los procesos de configuracin de
la mquina donde se realicen las respectivas instalaciones.
OBJETIVOS ESPECFICOS
Determinar el proceso general de instalacin y configuracin en sistemas Win32.
Determinar el proceso general de instalacin y configuracin en sistemas UNIX o LINUX.
ESTRUCTURA TEMTICA
INSTALACIN Y CONFIGURACIN DEL INTRPRETE.
Definiendo la instalacin.
Instalacin de PHP.
Instalacin en Sistemas Win32 (Modo CGI).
Instalacin en Sistemas UNIX.
Instalacin de PHP
Como PHP, se puede trabajar en diferentes plataformas y con diferentes servidores existen
mltiples combinaciones de realizar la instalacin. De acuerdo al servidor escogido podemos
diferenciar varios modos de instalacin:
Como un intrprete externo al servidor Web (modo CGI).
Como un mdulo interno esttico o dinmico del servidor Apache.
Como mdulo ISAPI sobre Internet Information Server.
Como mdulo NSAPI sobre Netscape Enterprise Server.
Una versin instalable en modo CGI, que es ejecutada como cualquier aplicacin Windows, y
que paso a paso indica como se debe instalar el intrprete de PHP. La ltima versin 4.3.3
(1046Kb), contiene las principales funciones del lenguaje, y resulta ideal para usuarios nuevos.
Despus de la respectiva bienvenida, el despliegue y aceptacin de la licencia, el usuario puede
seleccionar una instalacin estndar o una avanzada. En las siguientes ventanas se configura el
directorio donde se almacena los archivos uploads y el directorio para almacenar las sesiones.
Finalizando la instalacin podemos entonces configurar el correo electrnico: La direccin del
servidor SMTP que generalmente es localhost y la direccin de correo que aparece en los
mensajes de correo enviados desde los scripts PHP.
La siguiente ventana le permite configurar el nivel de notificacin de errores bajo las tres
opciones siguientes: Mostrar todos los errores, avisos y advertencias; Mostrar todos los errores y
avisos; Mostrar todos los errores. Preferiblemente despus de seleccionar la primera opcin, se
escoge el servidor Web seleccionado para el entorno PHP.
1. Descomprimir las ltimas versiones disponibles con el cdigo fuente del servidor y del
intrprete PHP.
2. Configurar el cdigo fuente del servidor Apache:
./configure --prefix=/usr/local/apache
3. Configurar el cdigo fuente de PHP y compilar el intrprete:
./configure --with-mysql \
--with-apache=../apache_ \
(apache=directorio del servidor)
--enable-track-vars
make
make install
4. En el directorio de mdulos para Apache copiar la librera con las funciones para PHP.
cp libs/libphp4.a ../apache_/src/modules/php4/
5. Volver a configurar Apache para incluir el mdulo de PHP y construir el Servidor
./configure --active-module=src/modules/php4/libphp4.a
make
make install
6. Configurar de acuerdo al sistema el archivo httpd.conf y ponerlo en marcha.
ACTIVIDADES
Consultar los manuales de instalacin y configuracin del intrprete de PHP disponibles
en la pgina oficial de PHP para despejar cualquier duda.
Investigar en que consiste el trabajo de PHP en la lnea de comandos y en las
aplicaciones grficas Cliente PHP-GTK.
AUTOEVALUACIN
BIBLIOGRAFA
Instrucciones generales de la Instalacin en Documentacin pgina oficial.
(http://www.php.net/docs.php)
INTRODUCCIN
PHP es considerado uno de los lenguajes ms extendidos en la Web al lado de PERL, ASP y
JAVA. Es un lenguaje de gran aceptacin entre los Webmasters, gracias a su potencia y
simplicidad. Como ya anotamos PHP introduce su cdigo dentro de la pgina HTML y ejecuta
diferentes procedimientos de forma sencilla y eficiente, convirtindolo en una herramienta
poderosa para manejar informacin desde documentos HTML. El lenguaje proporciona adems
diversos elementos de comunicacin y de enlaces a Bases de Datos y lo ms interesante es que
su cdigo es libre, por tanto recibe colaboraciones constantes con miras a mejorar su
funcionamiento. Sin embargo aunque es compatible con cualquier plataforma, es en entornos
UNIX donde se puede obtener un mejor rendimiento.
OBJETIVO GENERAL
Revisar los conceptos bsicos, del entorno de programacin PHP. Conociendo los elementos
necesarios para realizar un programa de Aplicacin en este popular lenguaje de generacin
dinmica de contenidos en servidores Web.
OBJETIVOS ESPECFICOS
Reconocer la estructura general de un programa PHP y como interacta con cdigo HTML.
A partir del conocimiento de las variables y los tipos de datos en PHP, construir una pequea
aplicacin en interaccin con formularios HTML.
ESTRUCTURA TEMTICA
UN PROGRAMA PHP.
Comentarios.
Salida de datos.
VARIABLES Y TIPOS DE DATOS.
Datos numricos.
Datos alfanumricos.
Datos Booleanos.
UN PROGRAMA PHP
Los programas PHP, se escriben compartiendo su cdigo con cdigo HTML. Para identificar
cual es la parte correspondiente a PHP y cual es la de HTML, utilizamos etiquetas, de forma que
el servidor pueda enviar al intrprete sin problema la parte de PHP.
<?php
Indica el comienzo del cdigo PHP.
?>
Indica el final del cdigo PHP.
<SCRIPT LANGUAGE="PHP">
Indica el comienzo del cdigo PHP.
</SCRIPT>
Indica el final del cdigo PHP.
Tambin es posible utilizar el modo abreviado, siempre y cuando este activa la directiva
short_open_tag en el archivo de configuracin php.ini.
<?
?>
Las pginas PHP, trabajan de manera similar a cualquier pgina dinmica de lado servidor: El
servidor reconoce la extensin correspondiente a la pgina PHP (.php,.php4,etc.) y antes de
enviarla al navegador se encarga de llamar el intrprete y ejecutar las instrucciones del lenguaje
PHP involucradas en las etiquetas. Lo dems lo trabaja como cualquier cdigo HTML.
Cada instruccin o script PHP debe concluirse con el caracter punto y coma ";". La nica
expresin que no lo requiere pero lo admite es la ltima colocada antes del cierre de etiqueta.
Los programas PHP, al igual que el cdigo HTML, pueden ser creados en cualquier editor que
maneje el tipo texto. Simplemente al nombre del programa se le coloca la extensin.php. Desde
el modesto bloque de notas hasta los muy sofisticados como Dreamweaver; incluso existen
editores especficos de PHP.
Comentarios
Salida de datos
Revisemos una de las funciones de salida de datos propios del lenguaje PHP, con el fin de
escribir nuestro lo primeros y pequeos programas:
echo ["Listado de Mensajes"] ,[Listado de variables],...,[...];
Esta funcin nos permite imprimir mensajes o contenidos de variables en la pgina HTML
resultante de la ejecucin de los programas PHP. De todas maneras el programador puede optar
por escribir los mensajes con cdigo HTML. Observe el siguiente programa y luego ejectelo.
<HTML>
<HEAD><TITLE>Prueba de programa en PHP</TITLE></HEAD>
<BODY>
Mensaje escrito en cdigo HTML <BR>
<?PHP
# Comentario 1 en cdigo PHP
echo "Mensaje corto escrito en cdigo PHP <BR>";
// Comentario 2 en cdigo PHP
echo "Mensaje largo escrito para mostrar ejemplo de cdigo PHP <BR>";
/* Comentario 3 de varias lneas. El programa explica la forma como escribir
diferentes tipo de mensajes utilizando cdigo HTML y PHP */
?>
Adis y Suerte aprendiendo PHP.
</BODY>
</HTML>
Para definir variables en PHP utilizamos el caracter especial "$" anteponindoselo al nombre de
la variable. El tipo de dato entonces depende del valor que le asignemos a la variable. Los
nombres de las variables deben seguir algunas reglas:
El nombre empieza por el caracter "$" y contina con una cadena de caracteres: $nombre,
$sueldo, $f.
La cadena debe empezar por una letra, pero puede tener nmeros al interior y adems acepta el
caracter subrayado. Nunca puede empezar por un nmero: $ala_norte, $clave11, $sitio1as.
Los nombres aceptan minsculas y maysculas pero las diferencian: $Edad es diferente de
$eDAd.
Datos numricos
Los tipos de datos numricos pueden ser enteros o reales. Los nmeros enteros no manejan cifras
decimales y los reales s. Los nmeros enteros se pueden manejar en formato hexadecimal con el
prefijo Ox u octal con el prefijo O. Los reales se pueden representar tambin en notacin
cientfica utilizando el caracter "e". Definimos datos numricos cuando le asignamos
informacin as:
$numero = 256;
$Valor = 10254;
$Num1 = OxFF;
$Num2 = O17;
$Sueldo = 1636250.50;
$Xn = 0.4256e3;
Datos alfanumricos.
Conjunto de letras y nmeros llamados generalmente cadenas de caracteres se identifican al
colocarlos entre comillas dobles ( " ) o entre comillas sencillas ( ' ). Si deseo mostrar como
contenido del mensaje alguna de estas comillas, utilizo las otras para indicar que es cadena de
caracteres, as:
$Direccion = "Calle 5 sur #20-22";
$Leyenda = ' Dijo el coronel "Salve usted la patria" ';
$Nombre = 'Jess Ramrez';
$Frase = "Utilice el signo '+' para la suma";
Como en C y en Perl, el carcter de barra invertida ("\") se puede usar para especificar caracteres
especiales:
secuencia
\n
significado
Nueva lnea
\r
\t
\\
\$
\"
Retorno de carro
Tabulacin horizontal
Barra invertida
Signo de pesos
Comillas dobles
Datos Booleanos
Estos datos solo pueden tomar como contenido los valores False ( Falso ) o True (Verdadero),
observemos:
$Clave = True;
$Motivo = False;
propiedades NAME de los campos con los nombres de las variables. Observe el siguiente
ejemplo:
Este primer programa se almacena con el nombre de prueba.php.
<HTML>
<BODY>
<H1> Programa de Captura de Datos </H1><BR>
<?PHP
ECHO "El nombre Capturado es : ";
ECHO $NOM;
?>
</BODY>
</HTML>
Este segundo programa se almacena con cualquier nombre. Es el programa a ejecutar primero y
desde el cual se llama el anterior (prueba.php).
<HTML>
<BODY>
<FORM NAME="FORMULARIO" ACTION="PRUEBA.PHP">
Mi Nombre :
<INPUT TYPE="TEXT" NAME="NOM" SIZE="30">
<INPUT TYPE="SUBMIT" VALUE="ENVIAR">
<INPUT TYPE="RESET" VALUE="BORRAR">
</FORM>
</BODY>
</HTML>
Si el programa inicialmente genera error, asegrese que en el archivo php.ini fue activada la
directiva register_globals as: register_globals = on.
Variables de PHP
El lenguaje PHP, en sus libreras coloca a disposicin del usuario un conjunto de variables de
tipos especializados de datos, que pueden ser utilizadas en cualquier momento:
Variable
Descripcin
$HTTP_USER_AGENT
$HTTP_ACCEPT_LANGUAGE
$HTTP_REFERER
$PHP_SELF
Indica una cadena con la URL del script que est siendo
ejecutado por el servidor.
$HTTP_GET_VARS
$HTTP_POST_VARS
$HTTP_COOKIES_VARS
$PHP_AUTH_USER
$PHP_AUTH_PW
$REMOTE_ADDR
$DOCUMENT_ROOT
$PHPSESSID
FUNCIONES DE APOYO
Existen algunas funciona que ayudan a controlar el buen uso de las variables, cuando se enva
sus valores desde formularios. Tenemos:
isset(Variable) Devuelve True si la variable ya est definida.
empty(Variable) Devuelve True si la variable ya definida no tiene asignado valor.
Unset(Lista Variables)
Libera recursos de las variables pasadas como parmetros.
ACTIVIDADES
Ejecute el ejemplo de la seccin valores desde formularios, y pruebe su funcionamiento.
Repase o consulte la creacin de formularios en HTML.
Investigue que otras variables PHP, pueden estar disponibles al usuario.
Investigue el conjunto de funciones para determinar el tipo de una variable.
AUTOEVALUACIN
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
HTML 4 Iniciacin y referencias. Snchez Garca Jos Ignacio y otros. Editorial Osborn
Mc Graw Hill.
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVOS ESPECFICOS
Reconocer las operadores utilizados en el lenguaje PHP, para la construccin de expresiones y
estructuras de cdigo.
A partir del conocimiento de las Estructuras de Seleccin Simples en PHP, construir pequeas
aplicaciones en interaccin con formularios HTML.
ESTRUCTURA TEMTICA
OPERADORES.
Asignacin.
Aritmticos.
Relacionales.
Lgicos.
De bits.
CONSTANTES.
EXPRESIONES.
ESTRUCTURAS DE SELECCIN SIMPLES.
If
If - Else
OPERADORES
Como todo lenguaje, PHP cuenta con un conjunto de operadores que permiten la construccin de
expresiones, condiciones, estructuras, etc. que describimos a continuacin. Los operadores se
comportan respetando un jerarqua de operacin que es importante tenerla en cuenta al momento
de la programacin.:
Asignacin
Descripcin
Asignacin de Valor
+=
$Var = $Var +
-=
$Var = $Var -
*=
$Var = $Var *
/=
$Var = $Var /
.=
$Cad = $Cad .
Aritmticos
Estos operadores permiten realizar operaciones matemticas entre las diferentes entidades
componentes de una aplicacin. Son iguales en funcin a los utilizados en lenguaje C.
Operador
Descripcin
Mdulo de la divisin
++
Preincremento y Postincremento
--
Predecremento y Postdecremento
Relacionales
Estos operadores relacionan dos entidades y devuelven un valor booleano (False o True).
Operador
Descripcin
==
===
!=
Diferente
!===
<
Menor que
>
Mayor que
<=
Menor igual
>=
Mayor igual
Lgicos
Los siguientes operadores evalan expresiones, y relaciones para determinar como respuesta un
valor booleano, dependiendo de la relacin lgica.
Operador
Descripcin
and
or
xor
O exclusivo
Negacin
&&
||
De bits
Estos operadores realizan operaciones sobre el componente en binario de la informacin
almacenada en las variables.
Operador
Descripcin
&
O exclusivo
Negacin
<<
corrimiento a la izquierda
>>
corrimiento a la derecha
CONSTANTES
Las constantes como su nombre lo indica son espacios asignados en la memoria del computador,
cuyo contenido se tiene la certeza de que no va a cambiar durante la ejecucin del programa. En
PHP las constantes se defines con la funcin define:
define("Constante",15);
define("EdadMayor",18);
define("A",3.5);
EXPRESIONES
Una expresin es un conjunto y combinacin de variables, constantes, funciones y operadores
que ordenados sintctica y semnticamente de forma correcta, permiten generar valores de
resultado de diferentes tipo, como booleanos, numricos o alfanumricos. Ejemplos:
($a >= 5) && ($Valor < $Incremento)
$b * $b + ($c - ($a / 4))
"Francisco Gonzlez" . $h . $a
El siguiente ejemplo determina si un ciudadano tiene derecho a votar o no. Se incluye la funcin
isset para asegurarse que las variables tienen valor asociado desde el formulario y pueden ser
procesados. Caso contrario aparecer un mensaje de error por estar las variables vacas.
<HTML>
<BODY>
<FORM NAME="FORMULARIO">
Mi Nombre :
<INPUT TYPE="TEXT" NAME="NOM" SIZE="30">
Edad :
<INPUT TYPE="TEXT" NAME="EDAD" SIZE="4">
<BR>
<INPUT TYPE="SUBMIT" VALUE="ENVIAR">
<INPUT TYPE="RESET" VALUE="BORRAR">
<BR>
<?PHP
if (isset($NOM) && isset($EDAD))
{
if ($EDAD >= 18)
{
ECHO "Seor : ";
ECHO $NOM;
ECHO " Usted es mayor de edad y puede votar";
}
}
?>
</FORM>
</BODY>
</HTML>
If - Else
La estructura permite la ejecucin condicional de fragmentos de cdigo PHP. Si la condicin se
evala como TRUE, PHP ejecutar un conjunto especfico de instrucciones, y si se evala como
FALSE ejecutar un conjunto diferente de instrucciones.
if (condicin)
{
instrucciones...
instrucciones...
}
else
{
instrucciones...
instrucciones...
}
El ejemplo anterior puede ser modificado, para que aplicando una estructura if-else tambin
determine si es menor de edad.
if (isset($NOM) && isset($EDAD))
{
if ($EDAD >= 18)
{
ECHO "Seor : ";
ECHO $NOM;
ECHO " Usted es mayor de edad y puede votar";
}
else
{
ECHO "Seor : ";
ECHO $NOM;
ECHO " Usted es menor de edad y no puede votar";
}
}
ACTIVIDADES
Investigar el funcionamiento de los operadores de bits ( bitwise en C ).
Investigar la jerarqua de smbolos para el lenguaje PHP.
AUTOEVALUACIN
Desarrolle 5 diferentes programas en PHP, que le permita aplicar los temas descritos en
esta sesin.
Construya un programa en PHP que desde un formulario capture las coordenadas (X,Y)
de los puntos P1, P2 y P3 correspondientes a los vrtices de un tringulo, y luego calcule
su superficie. Construya un programa en PHP que desde un formulario capture los
coeficientes a, b, c, de una ecuacin de la forma ax+bx+c, y luego calcule el valor de sus
races. (funcin raz : sqrt($Var)).
Construya un programa en PHP que desde un formulario capture el sueldo de un
trabajador y determine el incremento salarial del ao siguiente bajo las siguientes
condiciones: Si gana menos de 1.000.000, aumento del 25%, Si gana entre 1.000.000 y
3.000.000 aumento del 20%, Si gana ms de 3.000.000 aumento del 15%.
Construya un programa en PHP que desde un formulario capture el valor de compra de
un cliente en un prestigioso almacn, calcule el descuento efectuado al cliente si los
valores descuento se discriminan as: 5% para compras hasta 300.000, 7% de 300.001
hasta 700.000, 10% de 700.001 hasta 2.000.000, y de 15% en compras superiores.
Construya un programa en PHP que desde un formulario capture en cuatro variables
diferentes su nombre completo (Primer nombre, segundo nombre, primer apellido,
segundo apellido). Despliegue en pantalla el nombre completo en una sola variable.
BIBLIOGRAFA
OBJETIVOS ESPECFICOS
A partir del conocimiento de las Estructuras de Seleccin Compuestas en PHP, construir
pequeas aplicaciones en interaccin con formularios HTML.
A partir del conocimiento de las Estructuras de Iteracin en PHP, construir pequeas
aplicaciones en interaccin con formularios HTML.
ESTRUCTURA TEMTICA
ESTRUCTURAS DE SELECCIN COMPUESTAS.
If - Else - If.
Switch.
Break.
Continue.
ESTRUCTURAS ITERATIVAS SIMPLES.
While.
Do - while.
}
else if (Condicin)
{
instrucciones...
}
:
:
else if (Condicin)
{
instrucciones...
}
else
{
instrucciones...
}
El siguiente ejemplo muestra como se determina si un nmero es mayor que otro, o si son
iguales a travs de esta nueva estructura.
<HTML>
<BODY>
<FORM NAME="FORMULARIO">
Primer Nmero :
<INPUT TYPE="TEXT" NAME="a" SIZE="5">
Segundo Nmero :
<INPUT TYPE="TEXT" NAME="b" SIZE="5">
<BR>
<INPUT TYPE="SUBMIT" VALUE="ENVIAR">
<INPUT TYPE="RESET" VALUE="BORRAR">
<BR>
<?PHP
if (isset($a) && isset($b))
{
if ($a > $b)
{
echo "a : $a es mayor que b : $b";
}
elseif ($a == $b)
{
echo "a : $a es igual que b : $b";
}
else
{
echo "b : $b es mayor que a : $a";
}
}
?>
</FORM>
</BODY>
</HTML>
Switch
La estructura switch es similar a una serie de estructuras if en la misma expresin. En muchas
ocasiones, es necesario comparar la misma variable con muchos valores diferentes, y ejecutar
una parte de cdigo distinta dependiendo de a qu valor es igual. Para ello sirve la sentencia
switch.
switch (variable)
{
case res1:
instrucciones...
break;
case res2:
instrucciones...
break;
case res3:
instrucciones...
break;
...
default:
instrucciones...
}
Las instrucciones de la opcin default, se ejecutan cuando la variable no ha tomado ninguno de
los otros valores posibles. la instruccin break lleva el control del programa al final de la
estructura. A diferencia de otros lenguajes en PHP es posible no-solo evaluar el contenido de una
variable, tambin el de una expresin. Observemos las siguientes fracciones de cdigo, donde se
evala una variable de tipo entero y otra de tipo cadena:
switch ($i)
{
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
default:
}
*******
switch ($equipo)
{
case "Flamengo":
echo "Equipo de Brasil";
break;
case "Boca Junior":
echo "Equipo de Argentina";
break;
case "Manchester":
echo "Equipo de Inglaterra";
break;
default:
echo "Equipo del resto del mundo";
}
Break
La instruccin break, es utilizada para abandonar estructuras de control sin que se halla
ejecutado en su totalidad. puede ser utilizada en estructuras de seleccin o en estructuras
iterativas.
Continue
Como antesala de las estructuras iterativas, adelantamos que la instruccin continue puede ser
utilizada para interrumpir la ejecucin normal de la estructura y continuar con la siguiente
iteracin.
ESTRUCTURAS ITERATIVAS
While
La forma como trabaja la estructura while es simple. Le dice a PHP que ejecute la(s)
instrucciones contenidas en la estructura repetidamente, mientras que la condicin while se
evale como TRUE. El valor de la condicin es evaluado cada vez al principio del ciclo, antes de
iniciar una iteracin.
while (Condicin)
{
instrucciones ...
instrucciones ...
}
El siguiente fragmento de cdigo PHP, utiliza la estructura while para imprimir la tabla de
multiplicar del nmero 2 para sus primeras 10 posiciones.
<?php
$i = 1;
$j = 2;
while ($i <= 10)
{
$k=$i*$j;
echo "$i * $j = $k <BR>";
$i++;
}
?>
Do - while
Las estructuras do..while son similares a las estructuras while, ejecutan un conjunto de
instrucciones mientras la evaluacin de la condicin sea TRUE, con la diferencia que las
condiciones se comprueban al final de cada iteracin en vez de al principio. En la estructura do while se garantiza la ejecucin de la primera iteracin si la primera evaluacin de la condicin es
FALSE.
do
{
instrucciones ...
instrucciones ...
}
while (Condicin);
El siguiente ejemplo imprime los primeros 20 nmero enteros.
<?php
$i = 1;
while ($i <= 20)
{
echo "Entero: $i <BR>";
$i++;
}
?>
AUTOEVALUACIN
Construya un programa en PHP que desde un formulario capture valores para tres
variables diferentes. Determine el orden ascendente, y no realice el proceso en caso de
que alguno sea igual.
Cdigo rea
Zona
Primeros 3 De 4 a 10 De 10 min.
minutos
minutos
En adelante
31
Norte
Amrica
150
122
79
41
Centro
Amrica
114
94
65
51
108
75
61
frica
321
295
184
71
Europa
287
236
156
81
Asia
405
385
245
91
Oceana
501
400
325
Construya un programa en PHP que desde un formulario capture valores para los lados
de un tringulo. El programa debe determinar el tipo de tringulo (equiltero, issceles o
escaleno) y validar si los lados digitados corresponden a un tringulo o no.
Construya un programa en PHP que desde un formulario capture el valor de un nmero
entero. El programa debe entregar como resultado el numero invertido almacenado en
una variable entera. Ejemplo: si el nmero es el 45521 el resultado es 12554.
Construya un programa en PHP que desde un formulario capture el valor de un nmero
entero y calcule su factorial.
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVO GENERAL
Revisar los conceptos bsicos, del entorno de programacin PHP. Conociendo los elementos
necesarios para realizar un programa de Aplicacin en este popular lenguaje de generacin
dinmica de contenidos en servidores Web.
OBJETIVOS ESPECFICOS
A partir del conocimiento de las Estructuras de Iteracin en PHP, construir pequeas
aplicaciones en interaccin con formularios HTML.
Reconocer las estructuras necesarias para la creacin de funciones en PHP, y como reciben y
devuelven valores.
ESTRUCTURA TEMTICA
ESTRUCTURAS ITERATIVAS COMPUESTAS.
For.
Foreach.
SINTAXIS ALTERNATIVA
FUNCIONES.
Parmetros por referencia.
Parmetros por defecto.
ESTRUCTURAS ITERATIVAS
For.
Las estructuras for son los ciclos ms complejos en PHP. Se comportan de forma similar a los de
C. Sin embargo no son estructuras para, como las de algunos lenguajes, son ms bien estructuras
while compuestas.
for ( Inicializaciones; Condiciones; instrucciones )
{
instrucciones ...
instrucciones ...
instrucciones ...
Las inicializaciones se ejecutan incondicionalmente una vez al principio del ciclo; Si son varias
se separan por comas (,). Las condiciones se evalan al comienzo de cada iteracin; Si se
evalan como TRUE, el ciclo contina y se ejecutan las instrucciones de la estructura; Si se
evalan como FALSE, la ejecucin del ciclo termina. Al final de cada iteracin, se ejecutan las
instrucciones; Si son varias se separan por comas (,).
Cada una de las partes de la estructura puede estar vaca. En el caso de las condiciones el vaco
significa que la evaluacin se considera como TRUE. El siguiente programa es una variacin de
la tabla de multiplicar del 2 pero utilizando estructura for.
<?php
for ($i=1,$j=2;$i <= 10;$i++)
{
$k=$i*$j;
echo "$i * $j = $k <BR>";
}
?>
Foreach
La estructura foreach est especializada, en el recorrido de estructuras complejas como arreglos.
foreach recorre directamente cada uno de los elementos y asignarles un nombre que sea ms fcil
de procesar.
foreach (Arreglo As Variable)
{
instrucciones ...
instrucciones ...
}
El siguiente ejemplo muestra un como se utiliza la estructura:
<?php
$Nombres[]="Zico";
$Nombres[]="Pel";
$Nombres[]="Kak";
$Nombres[]="Caf";
$Nombres[]="Ziz";
$Nombres[]="Coco";
$i=1;
echo "<B>Ciclo foreach</B><BR>\n";
foreach ($Nombres as $autor)
{
}
?>
SINTAXIS ALTERNATIVA
PHP ofrece una sintaxis alternativa para alguna de sus estructuras de control; a saber, if, while,
for, y switch. En cada caso, la forma bsica de la sintaxis alternativa es cambiar abrir-llave por
dos puntos (:) y cerrar-llave por endif;, endwhile;, endfor;, or endswitch;, respectivamente.
Observemos algunos ejemplos:
if ($a==5):
echo A es igual a 5 ;
endif;
if ($a == 5):
echo "a es igual a 5";
echo "...";
elseif ($a == 6):
echo "a es igual a 6";
echo "!!!";
else:
echo "a no es ni 5 ni 6";
endif;
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
for (i=0; i<10; i++):
echo $i;
endfor;
switch ($i):
case 0:
echo "i es igual 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
default:
echo "i no es igual a 0, 1 o 2";
endswitch;
FUNCIONES
Una funcin, es un conjunto de instrucciones que realizan una tarea especfica, se separan del
programa principal, para en algn momento ser utilizadas. Las funciones en PHP al igual que en
C, se pueden comportar de dos formas como un procedimiento o como una funcin como tal. La
diferencia radica en que el procedimiento solo se limita a ejecutar las tareas asignadas, en
cambio la funcin retorna un valor de respuesta para que sea utilizada en el programa o
subprograma desde donde fue invocado. Tanto funciones como procedimientos pueden recibir
valores para ser utilizados en su tarea llamados argumentos:
function nombre ($arg_1, $arg_2, ..., $arg_n)
{
instrucciones ...
instrucciones ...
return $retval;
}
Dentro del cuerpo de una funcin se puede utilizar cualquier instruccin vlida de PHP. A
diferencia de lenguajes como C, en PHP4 no es necesario que las funciones se definan antes de
ser referenciadas, pero no soporta no soporta la sobrecarga de funciones, ni es posible redefinir u
ocultar funciones previamente declaradas. En cambio se es posible en PHP declarar funciones
con longitud variable de parmetros, y soportar parmetros por defecto. La informacin puede
suministrarse a las funciones mediante la lista de parmetros, que es una lista de variables y/o
constantes separadas por comas. Un ejemplo de una funcin que eleva un nmero al cuadrado
sera:
<?php
function Cuadrado($a)
{
$b=$a * $a;
return $b;
}
$c= Cuadrado(5);
echo "El cuadrado de 5 es $c";
?>
AUTOEVALUACIN
Construya un programa en PHP que cree y utilice una funcin que reciba como
parmetro un nmero entero y retorne el valor correspondiente a la suma de sus dgitos.
Construya un programa en PHP que desde un formulario capture un alista de nombres, y
con la utilizacin de estructura foreach los muestre ordenados alfabticamente.
Construya un programa en PHP que desde un formulario capture un valor numrico, y
mediante una funcin escriba su tabla de multiplicar en las 20 primeras posiciones.
Construya un programa en PHP que desde un formulario capture una palabra, y mediante
una funcin determine si esa palabra es palndroma o no.
Escriba una funcin en PHP, que retorne el valor resultante de elevar un nmero a otro
nmero, dados los dos nmeros.
Capture a travs de un formulario Nombre, edad, estatura de una persona, y a travs de
una funcin determine si esta persona es alta, baja o esta en el promedio de altura de los
Colombianos (1.68 metros).
Capture a travs de un formulario Cdigo, Cdula y Nombre de un Estudiante. Cree una
funcin que genere una cadena donde se mezclen intercaladamente el cdigo y la Cdula.
Ejemplo. Cdigo 490315 Cdula 81424926 Cadena 48910432145926. El cdigo y la
cdula pueden tener cualquier longitud. Se debe imprimir el numero de caracteres de la
cadena resultante.
Construya una funcin que reciba como parmetro una cadena de caracteres, y me
retorne le nmero de caracteres que contiene y la cadena invertida.
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVOS ESPECFICOS
Reconocer los elementos necesarios para crear libreras en lenguaje PHP y trabajar con
estructuras POO.
Reconocer las estructuras necesarias para la creacin y manipulacin de Matrices en PHP.
ESTRUCTURA TEMTICA
INCLUSIN DE CDIGO DESDE ARCHIVOS.
OBJETOS.
MATRICES EN PHP.
OPERACIONES EN MATRICES.
Creacin de Matrices.
Recorrido de una Matriz.
Navegacin en una Matriz.
Insercin de Elementos en una matriz.
Eliminacin de Elementos de una matriz.
Ordenamiento de una Matriz.
OBJETOS
El lenguaje PHP, permite utilizar conceptos de la POO (Programacin orientada a objetos), as
que se pueden construir objetos con sus respectivos atributos y mtodos, y por supuesto aplicar
herencia y redefinicin de funciones. Observemos la estructura para la definicin de clases con
un ejemplo:
Definicin de la clase..
Class Empleado
{
var $NombreEmp = "";
var $SueldoEmp = 0;
function CapturaN($nombre)
{
$this->NombreEmp = $nombre;
}
function CapturaS($Basico)
{
$this->$SueldoEmp = $Basico;
echo $this->NombreEmp, " Gana : ", $this->$SueldoEmp;
}
}
Instrucciones de ingreso de datos:
$Emp = new Empleado;
$Emp->CapturaN("Jacinto Surez");
$Emp->CapturaS(1500000);
MATRICES EN PHP
Cuando se definieron los datos de tipo Arreglo, se adelant en gran parte del concepto de
Matrices. Una Matriz es un conjunto de variables asociadas a un nico nombre. A diferencia de
otros lenguajes cada variable o elemento de la matriz puede manejar un tipo de dato diferente.
En PHP se pueden tener dos tipos de Matrices: Matrices Indexadas o Matrices Asociativas.
En las Matrices Indexadas cada elemento de la matriz se encuentra numerado desde la posicin
0, y la referencia del contenido del elemento se realiza a travs de ste ndice. Estos son ejemplo
de una Matriz indexada con datos del mismo tipo y con datos de diferente tipo.
$Autos[0] = "Mazda";
$Autos[1] = "Renault";
$Autos[2] = "Chevrolet";
$Autos[3] = "Mitsubishi";
$Autos[4] = "Dodge";
$Hoja[0] = "Patricia Hernndez";
$Hoja[1] = 33;
$Hoja[2] = 2506000;
$Hoja[3] = "52.054.019";
$Hoja[4] = "Enfermera";
Las Matrices asociativas, se conforman por pares clave-valor para realizar el acceso de acuerdo a
la clave determinada. Adaptando el segundo ejemplo tenemos:
$Hoja['Nombre'] = "Patricia Hernndez";
$Hoja['Edad'] = 33;
$Hoja['Sueldo'] = 2506000;
$Hoja['Cedula'] = "52.054.019";
$Hoja['Cargo'] = "Enfermera";
OPERACIONES EN MATRICES
Creacin de Matrices
Las Matrices en el lenguaje PHP, pueden ser creadas de dos formas; de Forma implcita o
utilizando alguna de las funciones especializadas array() o list().
Los ejemplos vistos anteriormente son creaciones de tipo implcito, donde simplemente se
accede a los elementos y se les asigna un valor. Recuerde que tambin se puede sin utilizar el
ndice y estos se almacenan en estricto orden;
$Autos[] = "Mazda";
$Autos[] = "Renault";
$Autos[] = "Chevrolet";
$Autos[0] = "Mazda";
$Autos[2] = "Renault";
$Autos[4] = "Chevrolet"; // Aqu las posiciones 1 y 3 toman valor null.
$Hoja[0] = "Patricia Hernndez";
$Hoja[1] = 33;
$Hoja[2] = 2506000;
Mediante la utilizacin de la funcin Array, tambin se pueden crear Matrices indexadas o
Matrices asociativas. Observemos un ejemplo para entenderlo ms claramente.
$Autos = array("Mazda","Renault","Chevrolet","Mitsubishi","Dodge");
$Hoja = array('Nombre' => "Patricia Hernndez",
'Edad' => 33,
'Sueldo' => 2506000,
'Cedula' => "52.054.019",
'Cargo' => "Enfermera");
Las matrices tratadas se conocen como matrices unidimensionales, arreglos o vectores. PHP
tambin permite crear las matrices bidimensionales y multidimensionales. Es como si en los
elementos de una matriz tuviramos otra matriz y as sucesivamente. Este tipo de matrices
tambin pueden ser Indexadas o Asociativas y se pueden crear implcitamente o por medio de las
funciones. En su interior Las matrices de varias dimensiones reciben elementos de diferente tipo.
Observemos algunos ejemplos:
$Matriz[0][0] = "Mazda 323"
$Matriz[0][1] = "Mazda 626"
$Matriz[0][0] = "Renault 9"
$Matriz[0][1] = "Renault 19"
$Matriz[0][2] = "Renault 12"
$Matriz['Juan']['Telefono'] = "2154613";
$Matriz['Julio']['Edad'] = 23;
$Matriz['Julio']['Telefono'] = "2428659"
$Matriz['Jaime']['Edad'] = 13;
$Matriz = array(array('Juan','Fernando','Luca'),array(11,51,23));
$Matriz = array(array('Nombre' => 'Julio',
'Edad' => 25;
'Sueldo' => 380000),
array("Rosa",1,"Flor"));
Existen dos formas de adicionar elementos a una matriz; antes de la primera posicin o despus
de la ltima posicin. Para tal efecto usamos las funciones array_push(), cuando adicionamos al
final de la matriz y array_unshift(), cuando adicionamos al principio de la matriz. Si utilizamos
creacin implcita siempre se adiciona al final. Las funciones devuelven un valor entero que
representa la cantidad de elementos de la Matriz y se pueden adicionar varios elementos a la vez.
$Matriz[]=3;
$Matriz = array(1,2,3);
$i = array_push(4,5,6); // Almacenados ( 1,2,3,4,5,6 )
$Matriz = array(1,2,3);
$i = array_unshift(4,5,6); // Almacenados ( 4,5,6,1,2,3 )
Algunos ejemplos:
$Matriz = array(1,2,3);
$i = array_shift($Matriz); // Almacenados ( 2,3 )
$Matriz = array(1,2,3);
$i = array_pop($Matriz); // Almacenados ( 1,2 )
$Matriz = array(1,2,3);
$i = array_splice($Matriz,1); // Almacenados ( 1,3 )
krsort().
ACTIVIDADES
Investigar el comportamiento exacto de las funciones require() e include().
Investigar como se utiliza la funcin list() en la creacin de Matrices.
Investigar cual es la estructura de las funciones count() y each(), y determine cuales son
sus posibles valores de retorno a la funcin.
Investigar la estructura y aplicaciones las funcin de eliminacin array_splice().
Investigar que otras funciones provee el lenguaje PHP para el tratamiento de Matrices.
AUTOEVALUACIN
Escriba un programa que utilice como librera, alguna de las funciones realizadas en la
sesin anterior, utilizando las funciones require() e include().
Construya en lenguaje PHP un programa con estructuras POO, que permita definir una
clase para los ahorradores de un banco y que defina al interior las funciones para
consignar, retirar, y consultar saldo.
Construya una aplicacin en lenguaje PHP que almacene en una Matriz los datos de un
directorio telefnico y que le permita ordenarlos, eliminar un dato buscado e insertar
datos.
Construya una aplicacin en lenguaje PHP que utilice una matriz para almacenar los
datos bsicos de un grupo de Clientes de una ferretera. Cada cliente almacena una matriz
de los artculos que compra y guarda los montos totales desde la primera vez que
compr. Implemente las funciones de adicin de nuevos clientes, adicin de nuevos
productos, y listados general y por cliente.
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVO GENERAL
Reconocer las herramientas que el lenguaje PHP, provee al usuario para que manipule
adecuadamente las cadenas de caracteres.
ESTRUCTURA TEMTICA
CADENAS DE CARACTERES.
MANIPULACIN DEL CONTENIDO.
MANIPULACIN DE FECHAS.
Obtener fecha y hora.
Establecer fecha y hora.
CADENAS DE CARACTERES
Las cadenas de caracteres son una secuencia de nmeros y letras que para su identificacin en el
lenguaje PHP utilizan tres tipos de delimitador a saber: comillas sencillas ('), comillas dobles (")
y el conjunto de mayor que (<<<) en el caso de la incrustacin de documentos. El uso de las
comillas fue visto en la sesin de tipos de datos; La incrustacin de documentos se utiliza para
permitir representar cadenas de caracteres en varios renglones y se realiza de la siguiente
manera:
<<<Identificador
Cadena de caracteres...
continuacin cadena...
continuacin cadena...
Identificador;
$Frase = <<<INI
Estas frases sern
representadas como
nica cadena as cambien
de lnea.
INI;
printf()
la tabla:
Smbolo
Significado
Nmero entero.
Nmero real.
Cadena de caracteres.
sprintf() Realiza la misma funcin que printf y almacena el resultado en una variable de tipo
cadena.
sscanf() Toma los datos de una variable de tipo cadena y lo interprete con el formato indicado.
Algunas funciones fueron diseadas para facilitar las tareas de recuperacin de informacin
desde archivos, donde son frecuentes algunos errores cuando se tratan los espacios en blanco o
los caracteres de retorno, entre otros. Describamos algunas de ellas.
chop() Elimina los saltos de lnea.
ltrim() Elimina los blancos a la izquierda de una cadena de caracteres.
rtrim() Elimina los blancos a la derecha de una cadena de caracteres.
trim() Elimina simultneamente los blancos a la izquierda y derecha de la cadena de
caracteres.
str_pad() Ajusta el tamao de una cadena de caracteres a una longitud determinada, y adiciona
un caracter de relleno especificado o blancos por defecto. Se puede indicar tambin si el relleno
se realiza por izquierda, por derecha o de manera proporcional. observemos los ejemplos:
$cadena = str_pad($cadena,10)
$cadena = str_pad($cadena,25)
$cadena = str_pad($cadena,10,"*",STR_PAD_LEFT)
$cadena = str_pad($cadena,25,"*",STR_PAD_RIGHT)
$cadena = str_pad($cadena,10,"*",STR_PAD_BOTH)
str_repeat() Permite repetir una cadena de caracteres un nmero especfico de veces:
str_repeat("*",10);
str_repeat("*",$i);
El lenguaje PHP, provee tambin una serie de funciones destinadas a cambiar la presentacin de
algunas cadenas de forma rpida, inclusive sin cambiar sus contenidos.
strtolower() Convierte una cadena de maysculas a minsculas.
strtoupper() Convierte una cadena de minsculas a maysculas.
ucfirst()
Cambia todos los caracteres a minsculas, menos el primero de la cadena.
ucwords()
Cambia todos los caracteres a minsculas, excepto los primeros de cada palabra.
En algunas ocasiones se requiere realizar cambios dentro de las cadenas, y para ello PHP
proporciona las siguientes funciones:
str_replace() Esta funcin permite buscar una palabra o conjunto de caracteres en una cadena
y remplazarla por otra.
str_replace("Tirar","Lanzar",$cadena) Cambia Tirar por Lanzar en la variable $cadena.
strtr() Permite cambiar caracteres encontrados por otros en la cadena especificada.
substr_replace() Reemplaza una porcin del contenido de la cadena por otra.
Otro grupo de funciones proporcionadas por el lenguaje PHP, permiten acceder al contenido de
la cadena y obtener de l, algn resultado de evaluacin que le permita al programador tomar
una alternativa de trabajo. Dentro de este grupo tenemos las siguientes funciones:
strlen() Devuelve la longitud de la cadena (Nmero de caracteres).
count_chars() Devuelve el nmero de veces que hay un caracter dentro de una cadena.
substr_count() Devuelve el nmero de veces que hay una subcadena dentro de otra.
strchr() Determina la primera aparicin de un caracter y devuelve la subcadena siguiente
desde ese lugar de aparicin.
strrchr() Determina la ltima aparicin de un caracter y devuelve la subcadena desde ese lugar
de aparicin.
strstr() Determina la primera aparicin de una subcadena teniendo en cuenta maysculas y
minsculas y devuelve la subcadena siguiente desde ese lugar de aparicin.
strpos() Determina la primera aparicin de un subcadena y devuelve la posicin donde se
encuentra.
strrpos() Determina la ltima aparicin de un subcadena y devuelve la posicin donde se
encuentra.
substr() Devuelve la porcin de cadena original de una posicin y una longitud dada.
Otras funciones de aplicacin interesante son las que permiten comparar contenidos de variables
de tipo cadena y realizar algunas acciones despus de su comparacin. PHP proporciona las
siguientes funciones:
strcmp() Compara y determina la igualdad entre dos cadenas, diferenciando caracteres en
maysculas y minsculas.
strcasesmp() Compara y determina la igualdad entre dos cadenas, sin diferenciar caracteres en
maysculas y minsculas.
strncmp() Compara y determina igualdad para los n caracteres iniciales de las cadenas.
strnatcmp() Compara y determina igualdad de acuerdo al mtodo natural de comparacin,
diferenciando caracteres en maysculas y minsculas.
strnatcasecmo() Compara y determina igualdad de acuerdo al mtodo natural de comparacin,
sin diferenciar caracteres en maysculas y minsculas.
MANIPULACIN DE FECHAS
La manipulacin de los datos de tipo fecha es muy importante, cuando se desarrollan
aplicaciones que manejan entornos Web. Realizar una manipulacin (obtencin y validacin)
adecuada de estos datos, facilita tareas como el establecimiento de tiempos de caducidad,
tiempos de espera y de trabajo en cookies y sesiones.
$Hora=time();
echo "Son las $hora";
PHP dispone tambin de una funcin ms manejable por el usuario que devuelve una matriz con
los datos ya convertidos de la marca de tiempo a formato comprensible. Esta funcin es
getdate(). La matriz asociativa obtenida contiene los siguientes elementos:
seconds
minutes
hours
mday
wday
mon
year
yday
weekday
month
0
Segundos
Minutos
Horas
Da del mes
Da de la semana (0 a 6)
Mes del ao
Ao
Da del ao (0 a 364)
Cadena del da de la semana
Cadena del mes
Marca de tiempo obtenida
Esta secuencia de programa captura la hora del sistema, directamente desde la matriz:
<?php
function listar($matriz)
{
echo "<TABLE BORDER=1 WIDTH=500>\n";
foreach($matriz as $clave => $valor)
{
echo "<TR>\n";
echo "<TD ALIGN=CENTER>$clave</TD>\n";
echo "<TD ALIGN=CENTER>$valor</TD>\n";
echo "</TR>\n";
}
echo "</TABLE>\n";
}
$hora = getdate();
echo "HORA DEL SISTEMA \n";
listar($hora);
?>
Existen en el lenguaje PHP, otras funciones especializadas en el manejo de este tipo de datos; se
pueden destacar como importantes las siguientes:
localtime(). Recibe como parmetros la marca de tiempo y un valor booleano, para Determinar
si la informacin se almacena sobre una matriz indexada o una asociativa.
date(). Devuelve una cadena de caracteres que corresponde a la fecha a la que se le aplica un
formato. La funcin evita el paso sobre la matriz asociativa de las funciones anteriores.
gmdate(). Cumple la misma tarea de la funcin date(), pero tiene en cuenta la hora de
Greenwich.
ACTIVIDADES
Investigar como se interacta con caracteres y nmeros para mostrar a travs de los
diferentes formatos una informacin con una presentacin especfica en las funciones
printf(), sprintf() y sscanf().
Investigar y probar con ejemplos desarrollados en PHP, las funciones no explicadas
concretamente en esta sesin.
Investigar en que consiste el mtodo natural de comparacin y como se utilizan las
siguientes funciones de fraccionamiento: chunk_split(), explode(), implode(), join()
yparse_str().
Investigar los tipos de parmetro utilizado y los valores de las matrices asociativas de las
funciones localtime(), date(), strftime(), setlocal() y gmstrftime().
AUTOEVALUACIN
Escriba un programa en PHP que imprima desde una tabla o Matriz el cdigo ASCII.
Escriba un programa en PHP, que le permita a travs de una funcin, validar si una
direccin URL, fue dada con un formato valido.
Construya una aplicacin en PHP, que capture la fecha de nacimiento de una persona y
determine cuantos aos tiene.
Construya una aplicacin en PHP, que capture dos fechas diferentes. Valide si sus
entradas son correctas y determine cual es la ms antigua.
Construya una aplicacin en PHP, que capture dos fechas diferentes con sus dos horas
respectivas. Valide si sus entradas son correctas y determine cuanto tiempo ha pasado
entre la ms antigua y la ms reciente.
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVO GENERAL
Hacer un reconocimiento sobre las bases tericas y prcticas que determina el trabajo en un
entorno Web con la utilizacin de herramientas de desarrollo como el lenguaje PHP.
OBJETIVOS ESPECFICOS
Determinar el proceso bsico de comunicacin empleado en entornos Web definido en el
protocolo HTTP.
Determinar, que son, cual es la funcin principal de las cookies y como se pueden definir y
trabajar con el lenguaje PHP.
ESTRUCTURA TEMTICA
CONCEPTOS BSICOS DE HTTP.
Etapas de una transaccin HTTP.
Estructura de los mensajes HTTP.
Comandos del protocolo.
COOKIES.
Cada objeto al que se aplican los verbos del protocolo est identificado a travs de la
informacin de situacin del final de la URL.
HTTP se dise especficamente para el World Wide Web: es un protocolo rpido y sencillo que
permite la transferencia de mltiples tipos de informacin de forma eficiente y rpida. Se puede
comparar, por ejemplo, con FTP, que es tambin un protocolo de transferencia de ficheros, pero
tiene un conjunto muy amplio de comandos, y no se integra demasiado bien en las transferencias
multimedia.
Mensaje de solicitud
Mensaje de respuesta
Resultado de la solicitud
Cabeceras de la respuesta
(lnea en blanco)
Informacin opcional
La primera lnea del mensaje de solicitud contiene el comando que se solicita al servidor HTTP,
mientras que en la respuesta contiene el resultado de la operacin, un cdigo numrico que
permite conocer el xito o fracaso de la operacin. Despus aparece, para ambos tipos de
mensajes, un conjunto de cabeceras (unas obligatorias y otras opcionales), que condicionan y
matizan el funcionamiento del protocolo.
La separacin entre cada lnea del mensaje se realiza con un par CR-LF (retorno de carro ms
nueva lnea). El final de las cabeceras se indica con una lnea en blanco, tras la cual se pueden
incluir los datos transportados por el protocolo, por ejemplo, el documento HTML que devuelve
un servidor o el contenido de un formulario que enva un cliente .
Objeto sobre el
que se aplica
Cada comando acta sobre un objeto del servidor, normalmente un archivo o aplicacin, que se
toma de la URL de activacin. La ltima parte de esta URL, que representa la direccin de un
objeto dentro de un servidor HTTP, es el parmetro sobre el que se aplica el comando. Se
compone de una serie de nombres de directorios y archivos, adems de parmetros opcionales
para las aplicaciones CGI.
El estndar HTTP recoge nicamente tres comandos, que representan las operaciones de
recepcin y envo de informacin y chequeo de estado:
GET Se utiliza para recoger cualquier tipo de informacin del servidor. Se utiliza siempre que se
pulsa sobre un enlace o se teclea directamente a una URL. Como resultado, el servidor HTTP
enva el documento correspondiente a la URL seleccionada, o bien activa un mdulo CGI, que
generar a su vez la informacin de retorno.
HEAD Solicita informacin sobre un objeto (Archivo): tamao, tipo, fecha de modificacin
Es utilizado por los gestores de cachs de pginas o los servidores proxy, para conocer cundo es
necesario actualizar la copia que se mantiene de un fichero.
POST Sirve para enviar informacin al servidor, por ejemplo los datos contenidos en un
formulario. El servidor pasar esta informacin a un proceso encargado de su tratamiento
COOKIES
Cuando se navega por la red el usuario visita muchas pginas, algunas bastante complicadas que
implementan distintos servicios de Internet. Estas pginas tienen que guardar informacin
caracterstica acerca del usuario. Para ello se tienen mecanismos en el servidor como bases de
datos u otro tipo de contenedores, pero hay un mecanismo mucho ms interesante de guardar esa
informacin que los propios recursos del servidor, que es el la propia mquina del usuario.
En los computadores se almacenan muchos datos que necesitan conocer las pginas Web cada
vez que se accede a la pgina, estas pequeas informaciones son las cookies, definidos como:
estados de variables que se conservan de una visita a otra en el ordenador del cliente. A manera
de proteccin, de la salud de la mquina del usuario los cookies estn muy restringidos. Por
ejemplo: slo se puede almacenar textos, nunca programas o imgenes, los textos no pueden
ocupar mucho espacio (1k), y tienen fecha de caducidad.
Un ejemplo de cookies podra ser un contador de las veces que accede un usuario a una pgina.
Podramos poner una cookie en el ordenador del cliente donde tendramos una variable que lleva
la cuenta de las veces que ha accedido a la pgina y cada vez que se accede se incrementa en
uno. La utilidad principal de las cookies es la de poder identificar al navegador una vez ste
visita el sitio por segunda vez y as, en funcin del perfil del cliente dado en su primera visita, el
sitio puede adaptarse dinmicamente a sus preferencias (lengua utilizada, colores de pantalla,
formularios rellenados total o parcialmente, redireccin a determinadas pginas...).
Una cookie es un conjunto de informacin integrada por varios elementos que se describen a
continuacin:
Elemento
Contenido
nombre
Nombre de la cookie
valor
fecha expiracin
path
dominio
segura
Para crear un archivo cookies, modificar o generar una nueva cookie se utiliza la funcin
SetCookie(). Esta funcin incluye los seis elementos descritos como parmetros pero solo es
obligatorio el primero. ejemplo:
setcookie("InfoPriv",$datos,time()+86400*365);
Esta instruccin crea una cookie llamada InfoPriv que tiene como valor el contenido de la
variable $datos y que tiene una duracin de 1 ao a partir de su creacin. Las llamadas a la
funcin setcookie() deben ser colocadas antes de la etiqueta HTML. Si una cookie se crea con el
mismo nombre de una ya existente la borra, es decir que sobre escribe el archivo texto que
identifica la cookie. Una precaucin importante es no definir variables en nuestro script con el
mismo nombre que las cookies porque PHP dar prioridad al contenido de la variable local sin
mostrar mensaje de error.
<?php
$nombre = "InfoPriv";
$datos = 105;
setcookie($nombre, $datos, time()+86400*365, "", "", 0);
echo "Cookie: $nombre, $datos";
?>
Para eliminar una cookie, solo basta con realizar un nuevo envo utilizando como nico
parmetro el nombre de la cookie que se desea borrar.
<?php
$nombre = "InfoPriv";
setcookie($nombre);
echo "Cookie: Borrada";
?>
En PHP es posible recuperar en una variable tipo array el conjunto de cookies almacenadas en el
disco duro del nter nauta mediante la variable de servidor $HTTP_COOKIES_VARS
ACTIVIDADES
Consultar los temas Mensajes de solicitud con los mtodos GET, HEAD y POST,
Mensajes de Respuesta, para luego comprobar el funcionamiento de los programas de
ejemplo de la bibliografa . Creacin de Sitios Web con PHP 4.
Investigar como se utiliza la funcin header() y cual es su estructura.
Investigar como se determinan y en que funciones se utilizan los parmetros path y
dominio.
AUTOEVALUACIN
Cuales son las principales ventajas de las Cookies y cuales podran ser sus desventajas?
Elabore una pgina Web para capturar los datos de inscripcin de un usuario a la pgina.
Escriba el cdigo respectivo en PHP, que al ser invocada la pgina escriba una Cookie en
el equipo con la fecha y el nmero de usuario asignado. Si la solicitud es hecha
nuevamente el programa deber advertir al usuario que ya existe un registro.
Elabore un cuadro comparativo que muestre las ventajas y desventajas asociadas a los
mtodos POST, HEAT y GET.
Que es especficamente y como trabaja el protocolo HTTP.
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
Informacin Cookies. www.w3.org
Informacin Cookies, www.cookiecentral.com
INTRODUCCIN
La manipulacin de ficheros o archivos de forma eficiente, es importante en el desarrollo de
entornos Web. El manejo de informacin al interior de las aplicaciones requiere que se creen
procesos capaces de almacenar, procesar y mostrar datos conservando su integridad, para
beneficio de la organizacin y sus clientes. Es tarea entonces del buen desarrollador conocer a
fondo las herramientas que brinda el lenguaje PHP para interactuar de manera eficiente con los
ficheros o archivos en el manejo de la informacin.
OBJETIVO GENERAL
Revisar las instrucciones bsicas de PHP, para el tratamiento de archivos o ficheros, con el fin de
poder manejar informacin almacenada dentro de un entrono Web.
ESTRUCTURA TEMTICA
OPERACIONES BSICAS.
Abrir y cerrar ficheros.
Recuperar datos de ficheros.
ESCRITURA EN FICHEROS.
MANIPULACIN DE FICHEROS.
Acceso directo a ficheros.
Otras funciones.
OPERACIONES BSICAS
Abrir ficheros
PHP dispone de la funcin fopen() para abrir ficheros, y su estructura es la siguiente:
int fopen (string fichero, string modo [, int ruta ]);
La funcin fopen() nos devuelve un valor numrico (indicador de archivo) de tipo entero que
nos servir para hacer referencia al archivo abierto.
El parmetro fichero le indica a la funcin el nombre del archivo que se desea abrir, el parmetro
modo determina la forma de acceso al archivo (Obsrvese tabla), y el parmetro ruta es opcional
y slo toma el valor 1 para que tome la directiva include_path del fichero php.ini.
Atributo Descripcin
Ejemplo:
Slo lectura
r+
Lectura y escritura
w+
a+
$ind = fopen("Archivo1.txt","r");
PHP utiliza la funcin die(), para que en caso de error al intentar abrir un archivo se despliegue
un mensaje que indique el tipo de error que ocurri:
$ind = fopen("Archivo1.txt","r") or die("Error de Apertura");
La funcin utilizada para cerrar un archivo es fclose(), que devuelve TRUE si no existe
problema al cerrar o FALSE en caso contrario. La estructura es muy sencilla, y recibe el
indicador del fichero como nico parmetro:
int fclose(int indicador)
$archivo = "prueba.dat"
$ind = fopen($archivo,"r");
$linea = 0;
while (!feof($ind))
{
$linea++;
$contenido = fgets($ind,4096);
echo "$contenido <BR>";
}
fclose ($ind);
fgestss(). fgetss(int indicador, int num_bytes [, string ver_tags]); Lee lnea de archivo HTML
fscanf(). Valor fscanf (int indicador, string formato [, string var1...]); Obtiene datos bajo un
formato.
$ind = fopen("Datos.txt","r");
while (!feof($ind))
{
$datos = fscanf($ind, "%s %d \n", $nombre, $sueldo);
echo "$nombre <BR>";
echo "$sueldo <BR>";
}
fclose($fichero);
file(). array file( string nomarchivo [, int ruta]);
ESCRITURA EN FICHEROS
La escritura de archivos mantiene la misma estructura de procesamiento de la lectura: primero se
abre el archivo, luego se escriben los datos y por ltimo se cierra el archivo. La funcin utilizada
de apertura utiliza la misma funcin fopen(), pero utilizando los parmetros de apertura w o a.
$ind = fopen("Datos.txt","w");
$ind = fopen("Datos.txt","a");
MANIPULACIN DE FICHEROS
Acceso directo a ficheros
Cuando se requiere que el acceso sobre los archivos no se haga de forma secuencial, PHP provee
de algunas funciones para realizar un acceso directo. estas son:
fseek() int fseek( int indicador, int posicion, [int base]); Ubica el puntero de lectura en
cualquier posicin. La base del fichero puede ser SEEK_SET para contar desde el principio del
fichero, SEEK_CUR para contar desde la posicin actual y SEEK_END para que la base sea el
final del fichero.
rewind(). int rewind( int indicador); Se ubica en la primera posicin del archivo.
ftell(). int ftell ( int indicador);
Recupera la posicin del puntero.
Otras funciones
fpassthru(). int fpassthru (int indicador) Muestra el contenido referenciado por el manejador
de archivo.
set_file_buffer. int set_file_buffer( int indicador, int Cap_buffer) Define tamao del buffer.
readfile(). int readfile( string Nomarchivo [,int usar_include]);
ACTIVIDADES
Investigar la forma como acta cada parmetro de las funciones reseadas en esta sesin,
y como se aplicara en un problema real.
Investigar en que consiste y como se aplica la tcnica de buffering.
AUTOEVALUACIN
BIBLIOGRAFA
INTRODUCCIN
Cuando se maneja informacin en archivos a travs de cualquier lenguaje de programacin, es
importante reconocer como se almacenan y distribuyen en los dispositivos de almacenamiento.
PHP proporciona diferentes funciones que le permiten al programador tanto en sistema operativo
UNIX como en Windows, acceder desde el entorno de programacin al sistema operativo y
manipular los archivos directamente en ese nivel. Los programadores tienen entonces control
total sobre los ficheros que componen su aplicacin y la forma como deben ser tratados.
OBJETIVO GENERAL
Reconocer las principales funciones del lenguaje PHP, para manipular directorios y
subdirectorios desde las aplicaciones Web.
ESTRUCTURA TEMTICA
MANIPULACIN DE DIRECTORIOS.
Creacin, eliminacin y cambio de directorios.
Procesamiento de archivos en un directorio.
Copiar, borrar y renombrar ficheros.
MANIPULACIN DE FICHEROS Y DIRECTORIOS.
FUNCIONES PARA UNIX/LINUX.
MANIPULACIN DE DIRECTORIOS
Creacin, eliminacin y cambio de directorios.
Existe una funcin para cada operacin de directorio a saber creacin, eliminacin y cambio.
Estas son:
chdir().
boolean chdir ( string ruta_directorio )
Cambio de directorios
rmdir().
boolean rmdir ( string ruta_directorio )
Creacin de directorios
mkdir().
boolean mkdir ( string ruta_directorio, int permisos )
Eliminacin de
directorios
Se debe tener en cuenta que para ambientes Windows se pueden utilizar indistintamente los
caracteres slash "/" y backslash "\", pero en entornos UNIX/LINUX slo slash "/". El carcter
punto "." indica directorio actual y la cadena "..", indica el directorio padre del directorio actual.
filetype().
tabla.
Tipo
Descripcin
block
Dispositivo de bloques
char
Dispositivo de caracteres
dir
Directorio
fifo
Directorio FIFO
file
Fichero
link
Enlace simblico
unknown
Indeterminado
Determina si es elemento.
Determina si es Fichero.
PHP tiene implementada la funcin chmod() para permitir la proteccin ficheros y directorios:
boolean chmod ( string elemento, int permisos )
Esta funcin recibe en sus parmetros el nombre del elemento y un nmero entero en
representacin octal que determina los permisos asignados al elemento. Esta tabla cambia en las
plataformas Windows y UNIX/LINUX.
fileperms(). int fileperms ( string elemento )
Determina los atributos del elemento.
is_readable().
is_readble ( string elemento )
Determina si es de lectura.
is_writeable(). is_writeable ( string elemento ) Determina si es de escritura.
is_executable(). is_executable ( string elemento ) Determina si es ejecutable.
La informacin que se obtiene de las funciones anteriores puede ser obtenidas con la utilizacin
de la funcin stat(), que es una matriz indexada con 13 valores.
ACTIVIDADES
Investigar la estructura y la funcin de los parmetros de todas las funciones reseadas en
esta sesin, para poder realizar los ejercicios siguientes.
Investigar el funcionamiento de la clase dir disponible en PHP.
Determinar la tabla de valores asociada a la funcin stat() y consulte como funciona
lstat() en Windows y en LINUX/UNIX. y la funcin clearstatcahe().
Determinar la funcionalidad, parmetros y estructuras de las funciones para
UNIX/LINUX
AUTOEVALUACIN
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVO GENERAL
Hacer una revisin de los principales comandos SQL y de las funciones del lenguaje PHP
disponibles para el tratamiento de las Bases de datos.
ESTRUCTURA TEMTICA
GESTORES DE BASES DE DATOS.
INSTRUCCIONES BSICAS SQL.
BASES DE DATOS EN PHP.
Conexin con ODBC.
Conexin con MySQL.
reciben el nombre de campos. Las tablas de una base de datos se enlazan mediante claves
(primaria y externa) que son atributos compartidos (repetidos) por una dos o ms tablas. Adems
las bases de datos relacionales se pueden gestionar mediante un lenguaje independiente de los
programas informticos concretos: lenguaje estructurado para consulta de bases de datos
(Structured Query Language, SQL). No obstante, los SGBR no se adaptan bien a ciertas
necesidades de gestin de datos, lo que ha impulsado el nacimiento y difusin de las bases de
datos orientadas a objetos.
Nombre
Cargo
Edad
Antigedad Sueldo
Gonzalo
Gerente
45
15
5.360.000
Jaime
Director
36
12
3.500.000
Sandra
Secretaria
34
17
850.500
Felipe
Mensajero
21
520.000
Los sistemas gestores de bases de datos, fueron diseados principalmente para corregir los
errores presentados en el mantenimiento formal de un Base de datos. Los SGBD protegen los
datos, en lo posible, frente a manejos indebidos, y proporcionan al usuario herramientas de
gestin, que faciliten las labores de mantenimiento de una base de datos.
Utilizado para cargar lotes de datos en la base de datos en una nica operacin.
INSERT INTO NombreTabla[(Atri1, Atri2, ..., Atrin)]
VALUES (ValAtri1, ValAtri2, ..., ValAtrin);
UPDATE.
UPDATE NombreTabla
SET Atributo1 = Valor1,
SET Atributo2 = Valor2,
SET Atributo3 = Valor3,
...
SET Atributon = Valorn
WHERE Condicin];
DELETE.
Cierra la conexin.
odbc_close($conexion);
odbc_fetch_row(). Hace accesible las filas devueltas por una consulta.
odbc_num_fields(). Determina el nmero de atributos devueltos
odbc_result(). Devuelve el contenido del atributo de la fila activa del cursor.
odbc_free_result(). Libera recursos asociados al cursor.
odbc_num_rows(). Devuelve el nmero de filas de la consulta.
mysql_select_db("BaseDatos", $conex);
mysql_query ( consulta, conexin ). Ejecuta la consulta SQL indicada.
$consulta = "SELECT * FROM Alumnos";
$res = mysql_query($consulta,$conex);
mysql_num_fields ( cursor ).
$Campos = mysql_num_fields($res);
mysql_fetch_rows ( cursor ).
$Filas = mysql_num_rows($res);
mysql_free_result ( cursor ).
mysql_free_result($res);
mysql_close ( conexin ). Cierra la conexin establecida.
mysql_close($conex);
Dentro de las funciones de PHP para interaccin con MySQL, son importantes las de manejo de
error y las conexiones persistentes:
mysql_errno(). Devuelve el nmero del error producido.
mysql_error(). Devuelve la descripcin del error.
mysql_pconnect(). Realiza una conexin persistente.( La funcin mysql_close() no cierra este
tipo de conexiones, as que es necesario liberar los recursos antes de finalizar procesos )
PHP permite al usuario acceder a estructuras de las bases de datos do forma fcil, incluso sin
conocer la composicin de las tablas. Estas son:
ACTIVIDADES
Investigar como se debe instalar y configurar el gestor de datos MySQL, Gestor de ms
comn uso en interaccin con el lenguaje PHP.
Recordar cuales son las clusulas, los operadores y las funciones de agregado que se
utilizan generalmente con SQL.
Investigar la estructura y funcionalidad de las funciones para ODBC odbc_field_type(),
odbc_field_name(), odbc_filed_len(), odbc_exec(), odbc_commit(), odbc_rollback().
Investigar la estructura y funcionalidad de las funciones para MySQL
mysql_affected_rows(), mysql_change_user(), mysql_create_db(), mysql_insert_id(),
mysql_get_cliet_info(),
mysql_get_host_info(),
mysql_get_proto_info()
y
mysql_get_server_info().
AUTOEVALUACIN
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
Curso SQL. http://www.cybercursos.net/sql/sql.html
Curso SQL http://arcadia.inf.udec.cl/db/
Microsoft SQL Server http://www.microsoft.com/latam/sql/
Tutorial
http://www.abcdatos.com/tutoriales/programacion/basesdedatos/sql.html
SQL
2 GRFICOS EN PHP.
(FORMATOS GRFICOS, DISEO GRFICO, CREACIN DE IMGENES,
PROPIEDADES DE LOS GRFICOS, TRATAMIENTO DEL COLOR Y GRFICAS
VECTORIALES)
INTRODUCCIN
El componente grfico de las pginas Web tiene mucha importancia. Es el que hace que las
pginas y portales Web sean vistosos y el que permite aplicar creatividad para hacer del diseo
de sitios una tarea agradable. Es tambin una herramienta para acercar los sitios al mundo donde
vivimos, pero !cuidado! su mal uso puede ser el causante de errores graves en las pginas en
perjuicio de los visitantes.
Las nociones bsicas para el uso de archivos grficos son sencillas, conocerlas, aunque sea
ligeramente, ayudar a crear sitios agradables y rpidos. No cometer errores en el uso de las
imgenes es fundamental, aunque no se sea un diseador y las imgenes utilizadas sean feas,
utilizarlas bien har ms agradable la visita a las pginas Web.
OBJETIVO GENERAL
Reconocer las funciones para tratamiento grfico que se encuentran disponibles en el lenguaje
PHP.
ESTRUCTURA TEMTICA
FORMATOS GRFICOS.
DISEO GRAFICO.
CREACIN DE IMGENES.
PROPIEDADES DE LOS GRFICOS.
TRATAMIENTO DEL COLOR.
GRFICAS VECTORIALES.
FORMATOS GRFICOS
En Internet se utilizan principalmente dos tipos de archivos grficos GIF y JPG, pensados
especialmente para optimizar el tamao que ocupan en disco, ya que los archivos pequeos se
transmiten ms rpidamente por la Red. El formato de archivo GIF se usa para las imgenes que
tengan dibujos, mientras que el formato JPG se usa para las fotografas. Los dos comprimen las
imgenes para guardarlas. La forma de comprimir la imagen que utiliza cada formato es lo que
los hace ideales para unos u otros propsitos.
Adicionalmente, se puede usar un tercer formato grfico en las pginas Web, el PNG. Este
formato no tiene tanta aceptacin como el GIF o JPG por varias razones, entre las que destacan
el desconocimiento del formato por parte de los desarrolladores, que las herramientas habituales
para tratar grficos generalmente no lo soportan y que los navegadores antiguos tambin tienen
problemas para visualizarlas. Sin embargo, el formato se comporta muy bien en cuanto a
compresin y calidad del grfico conseguido, por lo que resultara til si se llega a extender su
uso.
DISEO GRFICO
El diseo grfico de una pgina Web es tan solo una parte del diseo de la misma, ya que,
adems, hay que considerar un conjunto ms o menos extenso de condicionantes que van a
limitar la libre creatividad del diseador. En primer lugar, las pginas Web se deben descargar de
un servidor Web remoto por medio de Internet, por lo que el ancho de banda de las conexiones
de los usuarios va a ser un factor clave en la velocidad de visualizacin. La mayora de los
usuarios se conectan todava a Internet con un mdem, con velocidades tericas de 56 Kbps,
pero rara vez alcanzan estos niveles de velocidad.
Los elementos grficos, ya tengan formato de mapa de bits o vectorial, suelen traducirse en
ficheros de bastante peso, dependiendo del tamao de la imagen y del formato en que se guarde.
Esto origina que las pginas que contienen en su diseo muchas imgenes, o pocas pero de gran
tamao, tarden mucho tiempo en ser descargadas desde el servidor Web y presentadas en la
ventana del ordenador del usuario, que no suele ser muy paciente. Otro aspecto a tener en cuenta
es que las pginas Web son visualizadas en unas aplicaciones especficas, los navegadores Web,
que imponen grandes limitaciones al diseo de las mismas. La ventana de un navegador es
eminentemente rectangular, con unas medidas concretas (dadas por la resolucin empleada por
el usuario en su monitor) y con unas capacidades de interpretacin de colores que varan mucho
segn el ordenador usado, el sistema operativo, el monitor y la tarjeta grfica. Estos factores
imponen fuertes limitaciones al diseador Web, que debe buscar siempre que sus pginas puedan
ser visualizadas correctamente por el mayor nmero de usuarios.
PHP proporciona al usuario la posibilidad de realizar montajes dinmicos, a partir de funciones
especficas para la construccin de grficos. La utilizacin de estas funciones presenta algunas
ventajas al usuario, por ejemplo en algunos casos no es necesario almacenar las imgenes, sino
que estas se crean en el mismo momento de la carga de la pgina. Las funciones del lenguaje
PHP para tratamiento de grficos se pueden clasificar as:
Funciones de tratamiento de color.
Funciones de tratamiento de pxeles.
Funciones grficas de tratamiento de texto.
Funciones de acceso a propiedades de los grficos.
Funciones para trazado de grficas vectoriales.
Las funciones grficas, disponibles en PHP estn relacionadas con la librera GD, para activarlas
es necesario incluirlas en el directorio de trabajo (Configuracin de PHP) e incluidas en el
fichero de configuracin php.ini:
extension=php_gd.dll
Los colores de las imgenes en PHP, son tratados bajo las condiciones del formato RGB. Las
imgenes en PHP pueden ser enviadas al navegador o pueden ser almacenadas en ficheros. En
ambos casos se utiliza las funciones imagegif(), imagepng(), imagejpeg(),...
imagejpeg($imagen);
imagejpeg($imagen, "grafo.jpg");
//Salida en le navegador
//Salida en fichero
Los tipos de imgenes que pueden ser soportados por PHP, se pueden obtener a travs de la
funcin ImageTypes().
CREACIN DE IMGENES
Se ha definido una secuencia ordenada de la forma como se deben trabajar los grficos en PHP
que se describe a continuacin:
Creacin de la imagen.
Definicin de colores.
Tratar la imagen.
Elaboracin de la pgina para la imagen.
Liberacin de recursos consumidos.
Para crear imgenes se tienen dos posibilidades. La primera cuando se pretende crear la imagen
desde cero, donde a travs de la funcin imagecreate(), se le especifica el ancho y la altura en
pxeles de la imagen.
int imagecreate ( int ancho, int altura );
La segunda posibilidad es cuando se desean modificar imgenes ya existentes. Aqu se debe
tener en cuenta el formato de imagen origen y se utilizan las siguientes funciones:
int imagecreatefromjpeg ( string nombre_archivo );
int imagecreatefromwbmp ( string nombre_archivo );
int imagecreatefrompng ( string nombre_archivo );
int imagecreatefromgif ( string nombre_archivo );
Despus de creada la imagen se enva al navegador para que sea mostrada. Esta operacin se
realiza con las siguientes funciones, que dependen del formato de la imagen.
int imagejpg ( int identificador_imagen, [ string nombre_archivo [ int calidad ] ] );
int imagewbmp ( int identificador_imagen, [ string nombre_archivo [ int calidad ] ] );
int imagepng ( int identificador_imagen, [ string nombre_archivo [ int calidad ] ] );
int imagegif ( int identificador_imagen, [ string nombre_archivo [ int calidad ] ] );
Ejemplo:
imagesx().
imagesy().
imagecolorallocate(). int imagecolorallocate ( int identificador_imagen, int rojo, int verde, int
azul ) Devuelve un valor de tipo entero que representa la posicin de la paleta de colores que
define el color. El color se define en formato RGB.
imagecolordeallocate().
int imagecolordeallocate ( int
identificador_paleta ) Elimina la definicin del color (paleta).
identificador_imagen,
int
Devuelve el nmero de
imagecolorsforindex().
int imagecolorsforindex ( int identificador_imagen, int
identificador_paleta ) Devuelve una matriz asociativa con los valores de los componentes
bsicos del color.
imagecolortransparent(). int imagecolortransparent ( int identificador_imagen, int [color])
Define el color de transparencia.
imagecolorat(). int imagecolorat ( int identificador_imagen, int x, int y)
de la ubicacin del color del pxel indicado.
Devuelve un entero
imagecolorclosest(). int imagecolorclosest ( int identificador_imagen, int rojo, int verde, int
azul ) Devuelve la posicin del color ms cercano al color indicado.
imagecolorexact(). int imagecolorexact ( int identificador_imagen, int rojo, int verde, int azul
) Devuelve la posicin del color especificado dentro de la paleta de colores.
imagecolorresolve(). imagecolorresolve ( int identificador_imagen, int rojo, int verde, int azul
) Devuelve la posicin del color especificado o del ms cercano en la paleta de colores.
Otras funciones se refieren directamente al manejo de los componentes grficos de las imgenes
los pxeles:
imagesetpixel(). int imagesetpixel ( int, identificador_imagen, int x, int y, int color)
un pxel en la imagen y en el color especificado.
Dibuja
imagecopy().
int
imagecopy
(
int
identificador_imagen_destino,
int
indentificador_imagen_origen, int Xdestino, int Ydestino, int Xorigen, int Yorigen, int
ancho_origen, int alura_origen ) copia un pedazo de imagen en otra.
imagecopyresized().
int imagecopyresized ( int identificador_imagen_destino, int
indentificador_imagen_origen, int Xdestino, int Ydestino, int Xorigen, int Yorigen, int
ancho_destino, int altura_destino, int ancho_origen, int alura_origen ) copiar un pedazo de
imagen y lo redimensiona en la imagen destino.
<?php
$avion = imagecreatefromjpeg("avion");
$ancho = imagesx($avion);
$altura = imagesy($avion);
$avionsote = imagecreate(2 * $ancho, 2 * $altura);
imagecopyresized($avionsote,$avion,0,0,0,0,$ancho-1,$altura-1,$ancho-1,$altura-1);
$blanco = imagecolorclosest($avionsote, 255, 255, 255);
imagesetpixel($avionsote, 100, 310, $blanco);
header("Content-type: image/png");
imagepng($avionsote);
imagedestroy($avionsote);
imagedestroy($avion);
?>
GRFICAS VECTORIALES
Las grficas vectoriales fueron diseadas para crear figuras geomtricas o formas que se
construyen a travs de frmulas matemticas que permiten construirlas en un tamao
especificado. Revisemos la estructura de algunas de ellas:
imageline(). int imageline ( int identificador_imagen, int x1, int y1, int x2, int y2, int color )
Dibuja una lnea sobre la imagen especificada..
imagedashedline(). int imagedashedline ( int identificador_imagen, int x1, int y1, int x2, int
y2, int color ) Dibuja una lnea punteada sobre la imagen especificada.
imagearc(). int imagearc ( int identificador_imagen, int centrox, int centroy, int radiox, int
radioy, int anguloi, int angulof, int color ) Dibuja un arco de circunferencia, si los radios son
iguales, o de elipse. Si el ngulo inicial es 0 y ngulo final 360 ser una circunferencia o una
elipse completa.
imagerectangle(). int imagerectangle ( int identificador_imagen, int x1, int y1, int x2, int y2,
color ) Dibuja un cuadrado o un rectngulo en la imagen especificada.
imagepolygon(). int imagepolygon ( int identificador_imagen, array puntos, int num_puntos,
int color ) Dibuja un polgono, de acuerdo a los puntos especificados en la imagen.
Para rellenar de color las figuras dibujadas se disponen en PHP de las siguientes funciones:
imagefill(). int imagefill ( int identificador_imagen, int x, int y, int color )
el borde una rea cerrada.
imagefilledrectangle(). int imagefilledrectangle ( int identificador_imagen, int x1, int y1, int
x2, int y2, int color ) Dibuja un rectngulo y lo rellena con el color especificado.
imagefilledpolygon(). int imagefilledpolygon ( int identificador_imagen, array puntos, int
num_puntos, int color ) Dibuja in polgono y lo rellena con el color especificado.
ACTIVIDADES
Consultar la estructura del formato RGB, y con se construyen los colores en las
imgenes.
Investigar la funcionalidad y estructura de las funciones tratadas en esta sesin.
Investigar la funcionalidad y estructura de las funciones para fuentes imagechar(),
imagecharup(), imagestring(), imageStringup(), imagefontheight(), imagefontwidth(),
imageloadfont(), imagettftext(), e imagettfbbox().
AUTOEVALUACIN.
Genere el siguiente sencillo dibujo desde php en una imagen nueva creada desde PHP.
Escriba un programa en PHP que le permita importar desde una direccin especfica un
archivo de imagen (jpg, gif o bmp), y modificar su tamao a las mitad o al doble segn el
gusto del usuario.
Escriba un programa en PHP que dibuje un carro (Dibujo predeterminado por el
programador) en el tamao que estime conveniente el usuario. Utilice las herramientas de
creacin de grficos vectoriales de PHP.
Escriba un programa en PHP, que le permita al usuario tomar un archivo de imagen y
definirle un color de transparencia a gusto del usuario.
BIBLIOGRAFA
Manual PHP http://www.Webestilo.com/php/
Manual funciones de imgenes
http://dsc.uaemex.mx/operacion/Servicios/php/manual/es/ref.image.php
HTML 4 Iniciacin y referencias. Snchez Garca Jos Ignacio y otros. Editorial Osborn
McGraw Hill.
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill.
OBJETIVOS ESPECFICOS
Reconocer la estructura de los patrones o expresiones regulares, que permiten crear sentencias de
anlisis de textos.
Determinar el proceso de creacin de una sesin, para desarrollar aplicaciones que utilicen
variables globales.
ESTRUCTURA TEMTICA.
EXPRESIONES REGULARES.
SESIONES.
EXPRESIONES REGULARES.
Las expresiones regulares son una serie de caracteres que forman un patrn, normalmente
representativo de un grupo de caracteres, de tal forma que podemos compararlo con otro
conjunto de caracteres para ver las coincidencias. Un ejemplo de un patrn y una comparacin
sera:
am
am
panorama
ambicin
campamento
mano
Patrn.
coincide
coincide
coincide
coincide
no coincide
Tenemos un patrn (am) que podemos comparar con otro conjunto de caracteres para ver cuando
coinciden o no. Las expresiones regulares son un magnifico instrumento de programacin,
presente en PHP y en muchos otros lenguajes de programacin que nos permiten, por ejemplo,
comprobar la correccin de entrada de datos por un usuario en un formulario, o hacer bsquedas
y sustituciones a lo largo de un texto dado.
Un patrn puede estar formado por un conjunto de caracteres o por meta caracteres que
representan otros caracteres, o permiten una bsqueda contextual. Los meta-caracteres reciben
este nombre porque no se representan a ellos mismos, sino que son interpretados de una manera
especial. Los mas usados son los signos ^ y $. Cuando usamos el signo ^ queremos decir que el
patrn debe aparecer al principio del conjunto de caracteres comparado. Cuando usamos el signo
$ estamos indicando que el patrn debe aparecer al final del conjunto de caracteres:
^am
am
cama
ambidiestro
Pam
caramba
Patrn
coincide
no coincide
coincide
no coincide
no coincide
am$
am
salam
ambar
Pam
Patrn
coincide
coincide
no coincide
coincide
^am$
am
salam
ambar
Patrn
coincide
no coincide
no coincide
Si el patrn esta compuesto por uno de los signos que representan meta caracteres, tenemos que
indicarlo con un carcter de escape, la barra invertida \. Un patrn definido como \$12 no
coincide con un nmero terminado en 12, y s con $12.
La lista de meta caracteres es la siguiente:
.*?+[](){}^$|\
*
Coincide si el carcter o grupo de caracteres que le precede est presente 0 o mas veces:
ab* coincide con "a", "ab", "abbb", etc.
?
Coincide si el carcter o grupo de caracteres que precede est presente 0 o 1 vez: ab?
coincide con "a", "ab", no coincide con "abb".
+
Coincide si el carcter o grupo de caracteres que le precede est presente al menos 1 o
mas veces. ab+ coincide con "ab", "abbb",etc. No coincide con a.
[abc] Coincide si existe una "a" o una "b" o una "c".
[a-c]
$
x|y
Ampliando:
En el caso de los parntesis cuadrados [], que incluidos en un patrn, dan coincidencia si en la
cadena a comparar existe cualquiera de los caracteres que encierra. Se aclara que, lo que hay
entre corchetes es el rango de los caracteres coincidentes. Basta que exista cualquiera de ellos
para que se de la condicin:
[abc]
c.
El patrn coincide con la cadena si en esta hay cualquiera de estos tres caracteres: a, b,
c[ao]sa
[^abc]
El patrn coincide con la cadena si en esta NO hay ninguno de estos tres caracteres:
a, b, c. El signo ^ aqu tiene un valor excluyente.
c[^ao]sa
Coincide con cesa, cusa, cisa (etc); no coincide con casa ni cosa.
[0-9]
[^0-9]
[A-Z]
[a-z]
Como estos patrones se usan una y otra vez, hay caminos abreviados con la misma significancia.
Abreviatura
Equivalente
\d
[0-9]
\w
[0-9A-Za-z]
Significado
Nmeros de 0 a 9
Cualquier nmero o
cualquier letra
\s
[ \t\n\r]
Espacio en blanco:
incluye espacio,
tabulador, nueva lnea
o retorno
\D
[^0-9]
El contrario de \d
\W
[^0-9A-Za-z]
Contrario de \w, un
carcter que no sea
letra ni nmero
\S
[^ \t\n\r]
Contrario de \s,
cualquier caracter que
no sea espacio en
blanco
Los meta caracteres vistos informan si el patrn coincide con la cadena a comparar. Pero y si
queremos comparar con una cadena un patrn que puede estar una o mas veces, o puede no estar
? Para esto usamos un tipo especial de meta caracteres: los multiplicadores:
? Coincide si el carcter o grupo de caracteres que precede a ? esta presente 0 o 1 vez
cant?a
Coincide con canta y cana
d?el
Coincide con del y el
(ala)?cena Coincide con cena y alacena
* Coincide si el carcter o grupo de caracteres que le precede esta presente 0 o mas veces.
cant*a
+ Coincide si el carcter o grupo de caracteres que le precede est presente 1 o mas veces.
cant+a
a{2, }
Coincide con cualquier palabra que tenga al menos dos "a" o mas: casaa o casaaaaaa,
no con casa.
a{0,3}
a{5}
SESIONES
Hasta ahora los programas que se ejecuten y utilicen variables que slo existen en el archivo
ejecutado, se pierden al cargar otra pgina distinta, a menos que se pasaran por la URL o se
inscribieran en las cookies o en un formulario para su posterior explotacin. Estos mtodos,
aunque tiles, no son todo lo prcticos que podran ser en determinados casos en los que la
variable que se quiere conservar ha de ser utilizada en varios scripts diferentes y distantes los
unos de los otros.
Se puede pensar que ese problema queda resuelto con las cookies ya que se trata de variables que
pueden ser invocadas en cualquier momento. El problema, ya lo hemos dicho, es que las cookies
no son aceptadas ni por la totalidad de los usuarios ni por la totalidad de los navegadores lo cual
implica que una aplicacin que se sirviera de las cookies para pasar variables de un archivo a
otro no sera 100% infalible. Es importante a veces pensar en "la inmensa minora", sobre todo
en aplicaciones de comercio electrnico donde se debe captar la mayor cantidad de clientes
posibles y los scripts PHP deben estar preparados ante cualquier eventual deficiencia del
navegador del cliente.
Resulta necesario entonces poder declarar ciertas variables que puedan ser reutilizadas tantas
veces como queramos dentro de una misma sesin. Este problema se corrige a partir de las
variables de sesin. Una sesin es considerada como el intervalo de tiempo empleado por un
usuario en recorrer las pginas hasta que abandone el sitio Web o deje de actuar sobre l durante
un tiempo prolongado o bien, sencillamente, cierre el navegador.
PHP permite almacenar variables llamadas de sesin que, una vez definidas, podrn ser
utilizadas durante este lapso de tiempo por cualquiera de los scripts del sitio de trabajo. Estas
variables sern especficas del usuario de modo que varias variables sesin del mismo tipo con
distintos valores pueden estar coexistiendo para cada una de las sesiones que estn teniendo
lugar simultneamente. Estas sesiones tienen adems su propio identificador de sesin que ser
nico
y
especfico.
Iniciar una sesin se puede hacer de dos formas distintas:
-Declarar abiertamente la apertura de sesin por medio de la funcin session_start(). Esta
funcin crea una nueva sesin para un nuevo visitante o bien recupera la que est siendo llevada
a cabo.
-Declarar una variable de sesin por medio de la funcin session_register('variable'). Esta
funcin, adems de crear o recuperar la sesin para la pgina en la que se incluye tambin sirve
para introducir una nueva variable de tipo sesin.
Las sesiones han de ser iniciadas al principio de los script. Antes de abrir cualquier etiqueta o de
imprimir cualquier cosa. En caso contrario se recibir un error. Un ejemplo clsico: un contador.
Este contador deber aumentar de una unidad cada vez que recargue la pgina o realicemos el
enlace:
<?php
session_register('contador');
If (isset($contador)==0)
{
$contador=0;
}
++$contador;
echo "<a href=\"contador.php\">Recargado pgina $contador veces</a>";
?>
Otras funciones tiles para la gestin de sesiones son:
Funcin
Descripcin
Session_id()
Session_destroy()
ACTIVIDADES.
Investigar como se evalan expresiones regulares segn el estndar POSIX.
Investigar como se evalan expresiones regulares segn el estilo PERL.
Investigar el conjunto de directivas de configuracin definidas en el fichero php.ini
asociadas a la gestin de sesiones.
Investigar la estructura y utilizacin de las funciones session_start(), session_destroy(),
session_register(),
session_unregister(),
session_is_registred(),
session_unset(),
session_id(),
session_name(),
session_get_cookie_params(),
session_set_cookie_params(),
session_cache_limiter(),
session_encode(),
session_decode(),
session_save_path(),
session_module_name()
y
session_set_save_handler().
AUTOEVALUACIN
BIBILIOGRFA
Creacin de aplicaciones Web con PHP 4. Tobas Ratschiller y Till Gerken. Editorial
Prentice Hall.
Creacin de Sitios Web con PHP 4. Francisco Javier Gil Rubio y otros. Editorial Osborn
McGraw Hill