Вы находитесь на странице: 1из 34

Lenguajes Interpretados en el Servidor 1 / 34

UNIVERSIDAD DON BOSCO


FACULTAD DE ESTUDIOS TECNOLGICOS
ESCUELA DE COMPUTACIN



CICLO: 01/2014
G GU UI IA A D DE E L LA AB BO OR RA AT TO OR RI IO O # #1 1
Nombre de la Prctica: Introduccin a la Programacin web con PHP
Lugar de Ejecucin: Centro de cmputo
Tiempo Estimado: 2 horas con 30 minutos
MATERIA: Lenguajes Interpretados en el Servidor
DOCENTES: Ing. Ricardo Ernesto Elas Guandique


I. OBJETIVOS

En esta gua de prctica se pretende:
1. Conseguir que los estudiantes tengan un primer contacto con la programacin y sintaxis de PHP.
2. Desarrollar las a!ilidades necesarias para crear secuencias de comando con PHP.
". #ograr el dominio de los delimitadores y tipos de datos del lengua$e PHP.
%. Dominar la &orma en que se crearn scripts PHP y del proceso para 'isuali(arlos a tra')s de un na'egador.
*. #ograr la capacidad de corregir los errores detectados por el int)rprete de PHP.


II. INTRODUCCIN TERICA

Definicin de PHP
PHP es+ oy en da+ un lengua$e de programacin dise,ado para desarrollar pginas -e! dinmicas que son
e$ecutadas en un ser'idor -e! y+ luego+ de'ueltas en &ormato H./# al na'egador del usuario que las solicita.
0o o!stante+ en sus principios PHP &ue ms !ien un lengua$e de secuencias de comando+ guiones o scripts del
lado del ser'idor desarrollado por 1asmus #erdor& en 122* con el propsito de crear un con$unto de scripts
que le permitieran conta!ili(ar el n3mero de 'isitantes que accedan a su o$a de 'ida que a!a puesto en
lnea para conseguir empleo o contratos de tra!a$o.
De!ido a que PHP esta!a dise,ado para tra!a$ar en un am!iente -e! y que este se poda insertar
directamente dentro del cdigo 456H./# propici que se 'ol'iera muy popular para procesar datos
ingresados a tra')s de &ormularios.
El signi&icado actual de PHP es Hypertext PreProcessor y a partir de la 'ersin %.7 es considerado todo un
lengua$e de programacin y una plata&orma slida para el desarrollo de aplicaciones -e! del lado del
ser'idor.

Evolucin de PHP
Despu)s de alcan(ar su o!$eti'o 1asmus #erdor& li!era su cdigo+ que &ue desarrollado en lengua$e Perl
primero+ y luego+ en lengua$e C. Para ese entonces se aca alusin al lengua$e como PHP89: y su signi&icado
era Personal Home Page89orm :nterpreter+ siendo la 'ersin PHP89: 2.7 li!erada en 122;. En este a,o el
proyecto de PHP pas de ser un proyecto personal de 1asmus #erdor& a ser un proyecto desarrollado en
con$unto. En ese entonces PHP era usado en unos *7+777 dominios en :nternet+ lo que representa!a solamente
el 1< del total de dominios en :nternet.
#a 'ersin PHP ".7 &ue li!erada en 122= y desarrollada principalmente por dos programadores israels del
:nstituto .ecnolgico de :srael 4.ecnion6 de nom!res >ndi ?utmans y @ee' @urasAy. Bna de las me$ores
caractersticas de esta 'ersin era su &cil extensi!ilidad re&le$ada en la incorporacin de nue'os mdulos y
soporte para tra!a$ar con una gran cantidad de !ases de datos. En su apogeo la 'ersin ".7 de PHP era
utili(ada en un 17< de ser'idores en :nternet.
El siguiente paso en la e'olucin de PHP &ue la creacin de un nue'o n3cleo+ escrito desde cero para me$orar
su rendimiento y con'ertirse por primera 'e( en un lengua$e orientado a o!$etos. El nue'o motor &ue

Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 2
denominado @end 4acrnimo de los nom!res de sus nue'os desarrolladores Zee' y >ndy6. Esta nue'a
'ersin conocida como PHP %.7 &ue li!erada en mayo del 2777. #as nue'as prestaciones de esta 'ersin &ueron
el soporte para la mayora de ser'idores -e!+ el mane$o de sesiones H..P de &orma nati'a+ &acilidades para
programar utili(ando orientacin a o!$etos 4aunque mucos insisten en que esta 'ersin no es totalmente
orientado a o!$etos6+ compati!ilidad con las expresiones regulares de Perl+ encriptacin+ mane$o de &ormas
ms seguras para el control de las entradas de usuario.
El 1" del $ulio del 277; se anunci la suspensin del soporte para la 'ersin % de PHP+ no o!stante+ se siguen
li!erando me$oras para sol'entar &allos crticos a ni'el de seguridad+ es as que se lan(aron posterior a esa
&eca las 'ersiones %.%.= el 1" de enero del 277= y posteriormente+ la 'ersin %.%.2 el ; de agosto del mismo
a,o.
#a 'ersin * de PHP &ue lan(ada el 1" de $ulio del 277%+ utili(ando el motor @end Engine 2.7 que entre otras
cosas incluye:
/e$or soporte para la programacin orientada a o!$etos.
/e$oras en el rendimiento.
/e$or soporte para /yCD#.
/e$or soporte a 5/#.
Coporte nati'o para CD#ite.
Coporte integrado para CE>P.
:teradores de datos.
/ane$o de excepciones.
/e$oras para la implementacin con Eracle.

0E.>: Puede consultar so!re la e'olucin de PHP en &orma detallada en el sitio o&icial de PHP en
ttp:88---.pp.net o en el sitio de -iAipedia ttp:88---.-iAipedia.org.

En la actualidad se escuca y se lee muco acerca de la 'ersin F de PHP+ que toda'a no a sido li!eradaG
pero que ya se pueden leer li!ros completos de esta nue'a 'ersin que estara por 'enir en prximos a,os.
Entre las caractersticas que se anuncian estn:
:ncorporacin de soporte para Bnicode.
Eliminacin del parmetro 1E?:C.E1H?#EI>#C del pp.ini.
Desaparece la caracterstica de usar />?:CHDBE.EC.

De acuerdo a las 3ltimas noticias el retraso en el lan(amiento y li!eracin de la 'ersin F de PHP se de!e
principalmente a que el equipo de desarrollo decidi cam!iar el en&oque con el que se esta!a tratando las
cadenas Bnicode+ lo cual a lle'ado a iniciar un nue'o planteamiento para en&rentar el pro!lema.

Utilizacin de PHP
PHP se puede utili(ar para:
Desarrollar aplicaciones -e! del lado del ser'idor. Este es el campo de uso ms tradicional de PHP y el
que le a signi&icado una in&inidad de seguidores y adeptos.
1eali(ar scripts que se e$ecuten desde la lnea de comandos. Estos scripts se pueden e$ecutar sin la
necesidad de un ser'idor -e! ni de un na'egador.
Escri!ir aplicaciones de inter&a( gr&ica. Este es el campo ms nue'o en el que PHP a eco incursin+
para utili(arlo es necesario incluir la extensin PHPJ?.K que no 'iene incluida en la distri!ucin
principal.

Tipo de aplicaciones que se pueden realizar con PHP
PHP se puede utili(ar para crear aplicaciones de:
Comercio electrnico.
Educacin a distancia.
9oros de discusin.
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 3
Cistemas de ?estin de Contenidos.
Ilogs.
Exmenes en lnea.
>plicaciones de correo electrnico.

Requerimientos para desarrollar aplicaciones con PHP
Para poder reali(ar scripts de PHP en el lado del ser'idor es necesario tener instalado:
El int)rprete de PHP 4C?: o mdulo6.
Bn ser'idor -e! 4>pace Le! Cer'er es ideal para tra!a$ar con PHPG sin em!argo+ oy en da se puede
instalar &cilmente en :nternet :n&ormation Cer'er tam!i)n6.
Bn na'egador -e! 4:nternet Explorer+ Crome+ 9ire&ox+ Ca&ari y Epera son los ms di&undidos6.
Bn gestor de !ases de datos 4/yCD# es la me$or opcin de !ase de datos para tra!a$ar con PHP6.
Bn editor de texto+ de pre&erencia especiali(ado en sintaxis de PHP.

Sintaxis bsica!
El lengua$e PHP es !astante sencillo en cuanto a su sintaxis. >lguien con experiencia en programacin con
lengua$e C o Perl+ no de!era tener ning3n pro!lema de adaptacin. Cin em!argo+ ay que decir que es ms
complicado que simplemente escri!ir cdigo H./#.

Delimitadores de bloque de cdi"o PHP!
Existen cuatro di&erentes tipos de delimitadores de cdigo PHP. Estos son:
a) Delimitadores estilo 5/#:
<?php
//instrucciones php
?>
b) Delimitador estilo script:
<script language="php">
//instrucciones php
</script>
c) Delimitador corto:
<?
//instrucciones php
?>
d) Delimitador estilo >CP:
<%
//instrucciones php
%>

Hay que mencionar que solamente los primeros dos tipos de delimitadores estn disponi!les de &orma
automtica+ sin necesidad de reali(ar con&iguracin alguna en el arci'o pp.ini. #os 3ltimos dos
delimitadores de!en ser a!ilitados en dico arci'o de con&iguracin. Este arci'o est en la carpeta de
instalacin de PHP y de!er modi&icarlo si necesita utili(ar etiquetas cortas o las de estilo >CP y reiniciar los
ser'icios del Lamp para que &uncionen.

Delimitador de sentencias!
El terminador o delimitador de sentencias en PHP es el punto y coma 4G6+ el mismo que se utili(a en C8CMM.
Por lo tanto+ cuando desee terminar una sentencia para iniciar otra de!e utili(ar el punto y coma. Existen dos
casos en los que se puede omitir el punto y coma. Bno es cuando slo existe una instruccin PHP en el script
y el otro es cuando la instruccin sea la 3ltima lnea del !loque de cdigo PHP. Ce sugiere que siempre utilice
el punto y coma al &inal de cualquier instruccin+ incluso en los casos antes mencionados para e'itar cometer
errores por tratar de recordar estos casos especiales. Es ms &cil recordar que siempre de!e utili(arse que
recordar cuando puede omitirse.

Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 4

#omentarios!
PHP utili(a los estilos de comentarios del lengua$e C8CMM y del shell de la inter&a( de comandos de Bnix y
#inux. Estos son el comentario de una sola lnea N88O y el comentario de !loque N8P Q P8O+ tam!i)n
utili(ados en el lengua$e C. >dems+ se puede utili(ar el comentario de una sola lnea utili(ado en el shell de
Bnix y #inux+ NRO

Seamos algunos e$emplos:
$% Comentario de una sola lnea T88T estilo CMM:
<?php
$valor = 5.2;
//Este es un comentario de una sola lnea estilo C
echo "El valor es: " . $valor;
?>

&% Comentario de una sola lnea TRT estilo shell:
<?php
$nombre = "Julio";
#Este es un comentario de una sola lnea estilo shell
echo "Su nombre es:. " . $nombre;
?>

'% Comentario de !loque 4'arias lneas6 T8P Q P8T:
<?php
$precio = 25;
$total = $precio * $POST['descuento'];
/* En este caso estamos utilizando un comentario
de bloque, esto quiere decir que todo este texto
que est leyendo es comentario y que por tanto ser
ignorado por el intrprete de PHP
*/
echo "El total es " . $total;
?>

Salida a pantalla!
En PHP existen dos &ormas principales de mandar a imprimir texto en la 'entana de un na'egador. #a
primera es utili(ando la instruccin echo y la segunda es utili(ar la &uncin printf46.

ec(o
#a sentencia echo es &cil de utili(ar+ su sintaxis es la siguiente:

echo cadena_de_texto;

Donde+ cadena_de_texto puede ser un literal de cadena delimitado por comillas que pueden ser simples 4U6 o
do!les 4T6. #a di&erencia ms importante es que entre comillas do!les se interpretan las 'aria!les y ciertos
caracteres especiales+ incluyendo etiquetas H./#. En cam!io+ con comillas simples slo se interpretan la
comilla simple y la !arra in'ertida+ por tanto+ para e'itar que sean interpretados estos caracteres de!er acer
uso de secuencias de escape.

printf)%
#a &uncin printf() es muco ms 'erstil que la instruccin echo. Con esta &uncin se pueden mandar a
imprimir 'arios tipos de 'aria!les a la 'e(+ utili(ando cdigos de &ormato+ que indican cmo de!e ser
&ormateada la 'aria!le que se desea mostrar a la salida. #a sintaxis es la siguiente:

printf("cadena_de_texto [%s %d %f %c]", $cadena, $entero, $flotante, $caracter);

Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 5
Donde+ cadena_de_texto es una cadena delimitada por comillas do!les que puede incluir ciertos cdigos de
&ormato opcionales. Ci se desea imprimir el contenido de 'aria!les de!en especi&icarse cdigos de &ormato
para &ormatear la salida adecuadamente. #os cdigos de &ormato ms importantes son:

Elemento Tipo de variable
<s Cadena de caracteres.
<d 03mero sin decimales.
<& 03mero con decimales.
<c Carcter >CC::.
>unque existen otros tipos+ estos son los ms importantes.

*ariables
#as 'aria!les en PHP se de&inen anteponiendo el sm!olo dlar 4V6 al nom!re de la 'aria!le. > di&erencia de
otros lengua$es+ PHP posee una gran &lexi!ilidad a la ora de operar con 'aria!les. En e&ecto+ cuando
de&inimos una 'aria!le asignndole un 'alor+ PHP le atri!uye un tipo. Ci por e$emplo de&inimos una 'aria!le
entre comillas+ la 'aria!le ser considerada de tipo cadena:
$variable = "5"; //esto es una cadena

>ora !ien+ si en el script se reali(a una operacin matemtica con esta 'aria!le+ no se lan(ar ning3n
mensa$e de error sino que la 'aria!le cadena ser con'ertida automticamente en num)rica al incluirla en una
expresin que in'olucre un operador matemtico:
<?php
$cadena = "5"; //esto es una cadena
$entero = 3; //esto es un entero
echo $cadena + $entero
?>

Este script dar como resultado T=T. #a 'aria!le cadena con 'alor de "5", a sido asimilada como entero
4aunque su tipo sigue siendo cadena6 para poder reali(ar la operacin matemtica. Del mismo modo+
podemos operar entre 'aria!les tipo entero y real. 0o de!emos preocuparnos de nada+ PHP se encarga
durante la e$ecucin de interpretar el tipo de 'aria!le necesario para el !uen &uncionamiento del programa.

Cin em!argo+ si ay que tener cuidado en no cam!iar may3sculas por min3sculas en el identi&icador de la
'aria!le+ ya que+ en este sentido+ PHP es sensi!le. Con'iene por lo tanto+ tra!a$ar ya sea siempre en
may3sculas+ o siempre en min3sculas para e'itar este tipo de malentendidos a 'eces muy di&ciles de
locali(ar. Durante las prcticas de la!oratorio se con'endr que los nom!res de variables se digitarn siempre
en min+sculas y las constantes en ma,+sculas.


*ariables predefinidas de PHP
Estas son 'aria!les que estn disponi!les para cualquier script PHP que se e$ecute en un ser'idor -e! con el
mdulo PHP instalado. >lgunas de ellas pueden ser muy 3tiles para o!tener in&ormacin del cliente o del
mismo ser'idor. El comportamiento y disponi!ilidad de estas 'aria!les depende del ser'idor so!re el que se
est)n e$ecutando+ espec&icamente de su con&iguracin+ de la 'ersin de PHP y de otros &actores.
> partir de la 'ersin %.1.7 PHP dispone de un con$unto de matrices prede&inidas que contienen 'aria!les del
ser'idor -e!+ 'aria!les del entorno y 'aria!les de entrada del usuario. Estas matrices son automticamente
glo!ales o+ tam!i)n llamadas+ superglo!ales. Entre estas matrices se pueden mencionar:

-./012/S+ es una matri( asociati'a que contiene una re&erencia a cada 'aria!le disponi!le en el m!ito de
las 'aria!les glo!ales del script. #a &orma de acceder a las 'aria!les es utili(ando el nom!re de las 'aria!les
glo!ales entre comillas 4do!les o simples6 como ndice de la matri(.
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 6

-3SER*ER+ es una matri( asociati'a que contiene in&ormacin como ca!eceras+ rutas y u!icaciones de scripts.
#as entradas de esta matri( se crean en el ser'idor -e!. 0o ay garanta alguna de que el ser'idor 'aya a
pro'eer estos 'alores realmente. Dentro de las entradas que pueden encontrarse en esta matri( se pueden
mencionar:
UPHPHCE#9U: que proporciona el nom!re del arci'o de script e$ecutndose actualmente+ relati'o a la ra( del
documento.
UCE1SE1H>DD1U: que proporciona la direccin :P del ser'idor -e! en el que se est e$ecutando el script
actual.
UCE1SE1H0>/EU: que proporciona el nom!re del ser'idor -e! !a$o el que est siendo e$ecutado el script
actual. Ci se e$ecuta en un ost 'irtual de'ol'er el nom!re de&inido para tal ost.
UCC1:P.H9:#E0>/EU: que proporciona la ruta a!soluta del nom!re del script que est siendo e$ecutado
actualmente.

Existen mucas ms entradas para la matri( VHCE1SE1 que pueden consultar en el manual o&icial de PHP.

-3.ET+ que es una matri( asociati'a que contiene 'aria!les proporcionadas al script por medio del m)todo
H..P ?E.. Esto signi&ica que cuando de&ine que las 'aria!les de un &ormulario sern pasadas por el m)todo
?E.+ es en esta matri( donde se almacenarn sus 'alores de acuerdo al nom!re que asign al control de
&ormulario H./#.

-3P0ST+ es una matri( asociati'a que contiene las 'aria!les pasadas al script a tra')s de m)todo H..P PEC..
>l igual que VH?E.+ cuando se de&ine que el m)todo de paso de 'alores pro'enientes de un &ormulario ser
PEC.+ la matri( contendr dicos 'alores y para tener acceso a ellos de!er usar como lla'e de la matri( el
nom!re que le dio al control de &ormulario.

-3#0045E+ es una matri( asociati'a que contiene las 'aria!les pasadas al script mediante cooAies H..P.

-3SESS506+ es una matri( asociati'a que contiene las 'aria!les de sesin disponi!les en el script actual.

-3RE7UEST+ es una matri( asociati'a que contiene cualquiera de los contenidos de las matrices
superglo!ales VH?E.+ VHPEC. y VHCEEK:E.

Existen otras matrices superglo!ales que se de$an como in'estigacin al estudiante.

E$emplo:
<?php
$cad = "El script que est&aacute;s ejecutando: " . $_SERVER['PHP_SELF'] . ". ";
$cad .= "En el servidor: " . $_SERVER["SERVER_NAME"] . ".<br>";
echo "<h3>" . $cad . "</h3>";
?>

#onstantes!
Sintaxis
Ce puede de&inir una constante utili(ando la &uncin de&ine46. Bna 'e( de&inida+ no se puede modi&icar ni
eliminar.
Clo se puede de&inir como constantes 'alores escalares 4!oolean+ integer+ &loat y string6.
Para o!tener el 'alor de una constante 3nicamente es necesario especi&icar su nom!re. > di&erencia de las
'aria!les+ no se tiene que especi&icar el pre&i$o V. .am!i)n se puede utili(ar la &uncin constant46+ para o!tener
el 'alor de una constante+ en el caso de que queramos expresarla de &orma dinmica Bsa la &uncin
getHde&inedHconstants46 parar o!tener una lista de todas las constantes de&inidas.

Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 7
6ota8 /as constantes , las variables )"lobales% se encuentran en un espacio de nombres distinto! Esto implica que por
e9emplo TRUE , -TRUE son diferentes!

Cuando se utili(a una constante que toda'a no a sido de&inida+ PHP asume que se est re&iriendo al nom!re
de la constante en s. Ce lan(ar un a'iso si esto sucede. Bsa la &uncin de&ine46 para compro!ar la existencia
de dica constante.
Estas son las di&erencias entre constantes y 'aria!les:
#as constantes no son precedidas por un sm!olo de dlar 4V6
#as constantes solo pueden ser de&inidas usando la &uncin46 de&ine + nunca por simple asignacin
#as constantes pueden ser de&inidas y accedidas sin tener en cuenta las reglas de alcance del m!ito.
#as constantes no pueden ser rede&inidas o eliminadas despu)s de esta!lecerseG y
#as constantes solo puede al!ergar 'alores escalares

E$emplo. De&iniendo constantes
<?php
define("CONSTANT", "LIS.");
echo CONSTANT; // muestra el mensaje "LIS."
echo "<br>", Constant; // muestra "Constant".
?>

Tratamiento de cadenas
Existen tres &ormas de asignar cadenas a una 'aria!le en PHP+ que son: delimitndolas entre comillas do!les+
entre comillas simples y usando delimitadores tipo Perl 4HereDoc6:
Para asignar a una 'aria!le una cadena usando comillas dobles de!e acer una declaracin de este tipo:
$cadena = "Esta es la informacin de mi variable";

Para mostrar el 'alor de una 'aria!le pueden usarse la instruccin echo o la &uncin print():
echo $cadena //obtendramos: Esta es la informacin de mi variable;
echo "Esta es la informacin de mi variable"; //dara el mismo resultado

>lgo importante con respecto a los delimitadores de comillas do!les es que interpretan 'aria!les si son
colocadas dentro de comillas do!les. En terminologa de programacin+ se dice que son interpoladas. Por
e$emplo:
<?php
$cadena1 = "Aplicaciones";
$cadena2 = " Prcticas de Software II";
$cadena3 = "Materia: $cadena1 $cadena2";
echo $cadena3 //El resultado es: Aplicaciones Prcticas de Software II
?>

.am!i)n podemos introducir 'aria!les dentro de nuestra cadena lo cual nos puede ayudar muco en el
desarrollo de nuestros scripts. #o que 'eremos no es el nom!re+ sino el 'alor que almacena la 'aria!le:
<?
$a=55;
$mensaje = "Tengo $a aos";
echo $mensaje //El resultado es: "Tengo 55 aos"
?>

Puede ser que en lugar de imprimir el 'alor de la 'aria!le+ lo que se desee es imprimir el nom!re mismo de la
'aria!le. >l colocarlo entre comillas do!les+ como se i(o en el e$emplo anterior+ no sera posi!le. #a 3nica
solucin sera encerrarlo entre comillas simples o utili(ar cdigo o secuencias de escape en la cadena
delimitada por comillas do!les. Como se muestra a continuacin:
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 8
<?
$a=55;
$mensaje = "Tengo \$a aos";
echo $mensaje //El resultado es: "Tengo 55 aos"
?>

Ci se usan comillas simples de!e reali(ar una instruccin como la siguiente:
$cadena = 'Coloque ac su cadena';

Para poder mostrar una comilla simple dentro de una cadena delimitada por comillas simples de!e utili(arse
una secuencia de escape colocando el sm!olo de !arra in'ertida antes de ella. >s:
$cadena='Todos lo llamaban \'el mesas\'';
#os 3nicos caracteres que de!en escaparse cuando se encierran entre comillas simples son la comilla simple y
la !arra in'ertida.
Etra &orma de delimitar cadenas es mediante el uso de la sintaxis (eredoc ):;;;:%. De!e indicarse un
identi&icador despu)s de la secuencia WWW+ luego la cadena+ y luego el mismo identi&icador para cerrar la cita.
<?
$frase = <<<ANILLOS
"Hay muchos vivos que merecen la muerte y hay
muchos muertos que merecen la vida,
quin eres t para impartir ese derecho?" Gandalf.
ANILLOS;
echo $frase;
?>
El identi&icador de cierre de!e comen(ar en la primera columna de la lnea. >simismo+ el identi&icador usado
de!e seguir las mismas reglas que cualquier otra etiqueta en PHP: de!e contener solo caracteres
al&anum)ricos y de su!rayado+ y de!e iniciar con un caracter noJdgito o de su!rayado.
Bnos aspectos importantes a considerar acerca de esta sintaxis son:
#a lnea con el identi&icador de cierre no puede contener otros caracteres+ excepto qui(s por un puntoJyJ
coma 4G6. Esto quiere decir en especial que el identi&icador no de!e usar sangra+ y no de!e a!er espacios
o ta!uladores antes o despu)s del puntoJyJcoma.
Es importante tam!i)n notar que el primer caracter antes del identi&icador de cierre de!e ser un salto de
lnea+ tal y como lo de&ina su sistema operati'o. Esto quiere decir Xr en /acintos+ por e$emplo.

#di"os o secuencias de escape
En PHP+ al igual que en otros lengua$es existen ciertos caracteres que generan pro!lemas cuando se
encuentran dentro de cadenas+ de!ido a que dentro del lengua$e se interpretan de alguna &orma especial. Para
poder 'isuali(ar correctamente dicos caracteres en una operacin de salida se utili(an secuencias de escape
que in'olucran dicos caracteres especiales. #a siguiente ta!la muestra 'arios de estos caracteres especiales
con su correspondiente secuencia de escape:
Secuencia de escape Si"nificado
X! Espacio acia atrs 4backspace6
X& Cam!io de pgina 4form feed6
Xn Cam!io de lnea 4line feed6
Xr 1etorno de carro 4carriage return6
Xt .a!ulacin ori(ontal
XX Iarra in'ersa 4backslash6
XU Comilla simple
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 9
XT Comilla do!le
XV Carcter dlar 4V6
XRRR Carcter >CC:: octal 4R: 7J;6
XxRR Carcter >CC:: exadecimal 4R: 7J96

0peradores
#os operadores son sm!olos especiales que se utili(an en los lengua$es de programacin para poder reali(ar
operaciones con las expresiones. Como lo que se o!tiene en dicas operaciones es un 'alor+ el resultado
tam!i)n ser una expresin.
#os operadores se pueden clasi&icar como: unarios 4que operan so!re un 3nico 'alor o expresin6+ !inarios
4que operan so!re dos 'alores o expresiones6 y ternarios 4que consta de tres 'alores o expresiones6
En PHP existen di'ersos tipos de operadores y se pueden clasi&icar de la siguiente manera: aritm)ticos+
lgicos+ de cadena+ de e$ecucin+ de comparacin+ de asignacin+ de incremento8decremento+ etc.

0peradores aritm<ticos
Con los operadores que permiten reali(ar operaciones num)ricas so!re las 'aria!les y expresiones. Ce
muestran en la siguiente ta!la:

Smbolo Nombre Ejemplo Resultado
+ Adicin $a + $b Suma de $a y $b.
- Substraccin $a - $b Diferencia entre $a y $b.
* Multiplicacin $a * $b Producto de $a y $b.
/ Divisin $a / $b ociente de $a y $b.
!
Mdulo $a ! $b
"esto de $a dividido por
$b.

De!e tener en cuenta que el operador de di'isin N8O de'uel'e un n3mero con punto &lotante en todos los
casos+ incluso cuando los dos operandos son enteros.

0peradores l"icos
#os operadores lgicos se utili(an para reali(ar comparaciones entre expresiones. Pueden com!inarse para
&ormar expresiones de comparacin ms comple$as. #os operadores lgicos de PHP se muestran en la
siguiente ta!la:
Smbolo Nombre Ejemplo Resultado
and # $a and $b TRUE si tanto $a como $b son TRUE.
or $ $a or $b TRUE si cual%uiera de $a o $b es TRUE.
&or $ e&clusivo '(or) $a &or $b TRUE si $a o $b es TRUE* pero no ambos.
+ ,o + $a TRUE si $a no es TRUE.
-- # $a -- $b TRUE si tanto $a como $b son TRUE.
.. $ $a .. $b TRUE si cual%uiera de $a o $b es TRUE.

0peradores de cadena
Estos operadores se utili(an en com!inacin con 'aria!les o expresiones de cadena. #os dos operadores
'lidos en PHP para operar con cadenas son el operador de concatenacin que se representa con un sm!olo
de punto 4.6 y el operador de asignacin so!re concatenacin+ representado por un punto seguido de un
sm!olo de igual que 4.Y6. Sea la siguiente ta!la:


Smbolo Nombre Ejemplo Resultado
.
oncatenacin
$var/012ola 34
$var501mundo14
$saludo0$var/ . $var54
Se imprimir en pantalla:
Hola mundo
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 10
Smbolo Nombre Ejemplo Resultado
.0
oncatenacin y asi6nacin
$var/012ola mundo 14
$var/.07cruel y perverso74
Se imprimir en pantalla:
Hola mundo cruel y perverso
60T28 0bserve que no debe olvidar colocar espacios en blanco al terminar o al comenzar la subcadena para que no
queden palabras unidas!

0peradores de comparacin
Ce utili(an para 'eri&icacin de condiciones en ciertas expresiones+ so!re todo en expresiones condicionales.
En la siguiente ta!la se muestra la lista completa de ellos:






0peradores de asi"nacin
Existe un solo operador !sico de asignacin+ que se lee Nse asigna aO y no Nes igual aO+ como podra parecer.
>dems de este operador de asignacin existen operadores com!inados con operador de asignacin que
tam!i)n se mostrarn en esta parte. Sea la siguiente ta!la:










0peradores de e9ecucin
PHP soporta un operador de e$ecucin: las comillas in'ertidas 4ZZ6. [0ote que no se trata de comillas sencillas\
PHP intentar e$ecutar el contenido entre las comillas como si se tratara de un comando del int)rprete de
comandosG su salida ser de'uelta 4es decir+ no ser simplemente 'olcada como salidaG puede ser asignada a
una 'aria!le6.
E$emplo:
<?php
$salida = `ls - al`;
echo "<pre>$salida</pre>";
?>

0peradores de incremento=decremento
Estos operadores son+ en realidad+ una me$ora a los operadores aritm)ticos de adicin y sustraccin+ para el
caso muy particular en que uno de los operandos sea la unidad. Existen 'ariantes para este operador
dependiendo si primero se ace la asignacin y luego el incremento8decremento o 'ice'ersa. Seamos la
Smbolo Nombre Ejemplo Resultado
00 86ual $a 00 $b TRUE si $a es i6ual a $b.
000 8d9ntico $a 000 $b
TRUE si $a es i6ual a $b* y son del mismo tipo. 'P2P
: o superior)
+0 Diferente $a +0 $b TRUE si $a no es i6ual a $b.
;< Diferente $a ;< $b TRUE si $a no es i6ual a $b.
+00 ,o id9nticos $a +00 $b
TRUE si $a no es i6ual a $b* o si no son del mismo
tipo. 'P2P : o superior)
; Menor %ue $a ; $b TRUE si $a es estrictamente menor %ue $b.
< Mayor %ue $a < $b TRUE si $a es estrictamente mayor %ue $b.
;0
Menor o i6ual
%ue
$a ;0 $b TRUE si $a es menor o i6ual %ue $b.
<0
Mayor o i6ual
%ue
$a <0 $b TRUE si $a es mayor o i6ual %ue $b.
Smbolo Nombre Ejemplo
0 Se asi6na a $a 0 32ola1
.0 oncatenacin y asi6nacin $a .0 3 mundo1
+0 Adicin y asi6nacin $a += $b
-0 Sustraccin y asi6nacin $a -= $b
*0 Multiplicacin y asi6nacin $a *= $b
/0 Divisin y asi6nacin $a /= $b
!0 Mdulo y asi6nacin $a %= $b
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 11
siguiente ta!la:










III. MATERIALES Y EQUIPO

Para la reali(acin de la gua de prctica se requerir lo siguiente:
6o! Requerimiento #antidad
1 ?ua de prctica R1: :ntroduccin a la programacin -e! con PHP 1
2 Computadora con LampCer'er y PHP Designer instalado 1
" /emoria BCI o disco &lexi!le 1


IV. PROCEDIMIENTO

:0D:C>C:E0EC:
1. Para reali(ar la primera gua de prctica de!e estar consciente que para poder 'er las pginas con cdigo
PHP+ primero de!e ecar a andar el programa que se utili(ar como ser'idor -e!. Para ello e$ecute el
LampCer'er+ que incluye el ser'icio necesario para poner en &uncionamiento el >pace.
2. #os arci'os creados con el editor Cu!lime .ext o PHP Designer 277; de!en guardarse en una u!icacin
especial+ conocida como carpeta -e!+ que es donde se almacenan todas las pginas que sern
administradas por el ser'idor -e!. Esta carpeta en la instalacin del LampCer'er es ---. I3squela en
la carpeta -amp+ dentro de ella estar u!icada la carpeta ---.
". Como ocuparemos para todo el ciclo esta carpeta+ ser !uena idea crear una carpeta para la materia+ que
llamaremos lis 4#engua$es :nterpretados en el Cer'idor6. En esta carpeta almacenaremos en una carpeta
por prctica+ cada uno de los scripts que 'ayamos a reali(ar durante las prcticas de la!oratorio de este
ciclo.















E9ercicio >$8
Smbolo Nombre Finalidad
++$var Pre-incremento
8ncrementa el valor de $var en / y lue6o
retorna el nuevo valor de $var
$var++ Post-incremento
"etorna primero el valor actual de $var y
despu9s incrementa este valor en /
--$var Pre-decremento
Decrementa el valor de $var en / y lue6o
retorna el nuevo valor de $var
$var-- Post-decremento
"etorna primero el valor actual de $var y
despu9s decrementa este valor en /
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 12
1. Btilice Cu!lime.ext o el PHP Designer 277; para digitar el siguiente cdigo que mostrar cmo se inserta
cdigo PHP dentro de un documento -e! reali(ado con lengua$e H./#:
>rci'o 1: parte(tmlp(p!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<title>Scripts con (X)HTML y PHP</title>
<script type="text/javascript" src="js/modernizr.custom.lis.js"></script>
<!-- Definiendo una hoja de estilo local -->
<link type="text/css" rel="stylesheet" media="screen" href="css/htmlphp.css">
</head>
<body>
<!-- Parte de la pgina web generada con HTML -->
<section id="html">
<article>
<p>
&lt;!DOCTYPE html&gt;<br />
&lt;html&gt;<br />
...
</p>
<p>Parte de HTML normal.</p>
<p>
&lt;/html&gt;
</p>
</article>
</section>
<?php
//Parte de la pgina generada con lenguaje PHP
echo "<section id=\"php\">\n";
echo "<article>\n";
echo "<p>&lt;?php<br />";
echo "...<br />";
echo "Parte con PHP.</p>";
echo "<p>?&gt;</p>";
echo "\n</article>\n";
echo "</section>\n";
?>
</body>
</html>

>rci'o 2: (tmlp(p!css
body {
background-image:url(../img/brickwall.jpg);
background-color:Bisque; /* rgb(255,228,196) o #FFE4C4 */
background-repeat:repeat-x;
font-size:16px;
margin-top:14%;
margin-left:8%;
margin-right:8%;
}

#html {
background:Maroon;
border-radius:0.5em;
margin:1em auto;
width:80%;
}

#php {
background:OrangeRed;
border-radius:0.5em;
margin:1em auto;
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 13
width:80%;
}

#html article,
#php article {
margin:4%;
padding:0.5em;
width:70%;
}

#html article {
font-family:"Palatino Linotype",Baskerville,serif;
font-weight:600;
font-size:1.2em;
color:LemonChiffon; /* rgb(255,250,205) o #FFFACD */
}

#php article {
font-family:Tahoma,Verdana,Helvetica,sans-serif;
font-weight:900;
font-size:1.2em;
color:Bisque; /* rgb(255,228,196) o #FFE4C4 */
}


2. ?uarde el primer arci'o con el nom!re
parte(tmlp(p!p(p en la carpeta predeterminada para
los documentos -e! de su ser'idor -e! >pace. En una
instalacin predeterminada del LampCer'er de!era ser:
C:X-ampX---. Ci usted modi&ic esta carpeta de!e
asegurarse de que sea en la carpeta correcta de los
documentos -e!.



". Para 'isuali(ar el resultado en el na'egador 'eri&ique
que est) iniciado el ser'idor -e! >pace. Ci lo est
de!er o!ser'ar en el rea de estado de la !arra de tareas
de Lindo-s 4donde aparece la ora6 el icono del
?ampServer en &uncionamiento:












%. >!ra su na'egador pre&erido y digite en la !arra de direccin la siguiente B1#:
http://localhost/lis/ciclo012014/guias/guia1/ejercicio1/partehtmlphp.php
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 14



*. E!ser'e la pgina PHP que aca!a de cargarse en el na'egador y 'eri&ique que el resultado es el esperado.
Es recomenda!le que 'eri&ique en todos los na'egadores disponi!les: Crome+ 9ire&ox+ :nternet Explorer+
Ca&ari y Epera


60T28 De a(ora en adelante solamente se le proporcionar el cdi"o HT@/ combinado con PHP que
debe di"itarA para volver a car"ar una p"ina en el nave"ador ,a sabe cules deben ser los pasos a se"uir!
/o mismo ser con cualquier otro arc(ivo adicional como (o9a de estiloA "uin o secuencia de comando de
BavaScriptA etc!

E9ercicio >&8
Primer arc(ivo8 delimitadores!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<title>Delimitadores de c&oacute;digo PHP</title>
<link type="text/css" rel="stylesheet" href="css/delimitadores.css" />
<script type="text/javascript" src="js/modernizr.custom.lis.js"></script>
</head>
<body>
<h1>Esto es HTML</h1>
<?php
echo "<section class=\"left\">\n";
echo "<article>\n";
echo "<p class=\"xmltag\">";
echo "Este texto est&aacute; escrito en PHP, utilizando las etiquetas m&aacute;s ";
echo "usuales y recomendadas para delimitar el c&oacute;digo PHP, que son: ";
echo "&lt;?php ... ?&gt;.<br>\n";
echo "</p>";
echo "</article>\n";
echo "</section>\n";
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 15
?>
<script language="php">
echo "<section class=\"right\">\n";
echo "<article>\n";
echo "<p class=\"htmltag\">";
echo "A pesar de que estas lneas estn escritas dentro de un script PHP, ";
echo "Estn enmarcadas dentro de etiquetas HTML: ";
echo "&lt;script&gt; ... &lt;/script&gt;";
echo "</p>";
echo "</article>\n";
echo "</section>\n";
</script>
<?
echo "<section class=\"left\">\n";
echo "<article>\n";
echo "<p class=\"shorttag\">";
echo "Este texto tambi&eacute;n est&aacute; escrito con PHP, utilizando las etiquetas
";
echo "cortas, <br>\n que son: &lt;? ... ?&gt;";
echo "</p>";
echo "</article>\n";
echo "</section>\n";
?>
<%
echo "<section class=\"right\">\n";
echo "<article>\n";
echo "<p class=\"asptag\">";
echo "Este texto est&aacute; escrito en PHP, como los dos ejemplos anteriores. ";
echo "Sin embargo, se ha delimitado con etiquetas estilo ASP: ";
echo "&lt;% ... %&gt;.<br>\n";
echo "</p>";
echo "</article>\n";
echo "</section>\n";
%>
<section class="paragraph">
<article>
<p>
Usted est&aacute; en la libertad de decidir cu&aacute;l de estos delimitadores
utilizar&aacute; en sus scripts PHP. Sin embargo, la recomendaci&oacute;n es utilizar
siempre el primer tipo de delimitadores, conocido como delimitador estilo XML, a menos
que no tenga otra opci&oacute;n.
</p>
</article>
</section>
</body>
</html>

Se"undo arc(ivo8 delimitadores!css
body {
background-image:url(../img/php-logo.png);
background-repeat:repeat-x;
margin:120px 30px;
background-color:PowderBlue;
}

h1 {
text-align:center;
font-family:"Bookman Old Style";
font-weight:900;
font-size:22pt;
color:Lavender;
border:outset 10px Lavender;
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 16
background-color:DarkViolet;
}

p {
font-family:"Franklin Gothic Demi";
font-size:12pt;
color:#9D873B;
}

.xmltag {
font:600 14pt Verdana;
color:Purple;
}

.shorttag {
font:600 14pt Tahoma;
color:FireBrick;
}

.asptag {
font:600 14pt Century;
color:DarkBlue;
}

.htmltag {
font:600 14pt Georgia;
color:Green;
}

.left {
float:left;
width:48%;
}

.right {
float:right;
width:48%
}

.paragraph {
float: left;
clear: both;
}

0E.>: Cuando e$ecute el segundo e$ercicio en el na'egador+ notar algo raro+ parte del cdigo no es
interpretado correctamente. Esto ya se coment en la :ntroduccin terica de la gua y en la presentacin
so!re introduccin al lengua$e PHP. >cuda a este recurso para acer &uncionar los delimitadores de cdigo
PHP que no estn operando. En las imgenes que se muestran a continuacin notar cmo se 'e la pgina
antes y despu)s de a!ilitar am!os estilos de delimitadores.
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 17

E9ercicio >'8 El si"uiente e9emplo muestra cmo opera PHP los distintos tipos de datos que mane9a
)enterosA flotantesA cadenas , booleanos% , el uso de constantes ocupando variables locales definidas
directamente en el cdi"o!
Primer arc(ivo8 tiposdatos!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<title>Conversi&oacute;n de cadenas</title>
<link type="text/css" rel="stylesheet" media="screen" href="css/conversion.css" />
<script type="text/javascript" src="js/modernizr.custom.lis.js"></script>
</head>
<body>
<?php
define("SALTO", "\n");
$cad = "10 metros";
$str = "3D";
$val = 20.5;
$num = 7;

//Primera operacin
$concat = $cad + $val;
echo '<section>';
echo '<article>';
echo '<p class="datos">';
echo 'Variables:<br /> ';
echo '$cad = "' . $cad . '"<br />';
echo '$str = "' . $str . '"<br />';
echo '$val = ' . $val . '<br />';
echo '$num = ' . $num . '<br />';
echo '</p>';
echo '</article>';
echo '<section>';
echo '<header>';
echo '<h1>Trabajando con los tipos de datos en PHP</h1><hr />';
echo '</header>';
echo '<article>';
echo '<p>El valor de $concat = $cad + $val es: <span> = "' . $cad . '" + ' . $val .
'</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';
echo '</section>';

//Segunda operacin
$concat = $str + $num;
echo '<article>';
echo '<p>El valor de $concat = $str + $num es: <span> = "' . $str . '" + ' . $num .
'</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Tercera operacin
$concat = $cad + $num;
echo '<article>';
echo '<p>El valor de $concat = $cad + $num es: <span> = "' . $cad . '" + ' . $num .
'</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 18
//Cuarta operacin
$concat = $str + $val;
echo '<article>';
echo '<p>El valor de $concat = $str + $val es: <span> = "' . $str . '" + ' . $val .
'</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Quinta operacin
$concat = $cad + $str;
echo '<article>';
echo '<p>El valor de $concat = $cad + $str es: <span> = "' . $cad . '" + "' . $str .
'"</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Sexta operacin
$concat = $val + $cad;
echo '<article>';
echo '<p>El valor de $concat = $val + $cad es: <span> = ' . $val . ' + "' . $cad .
'"</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Sptima operacin
$concat = $num + $str;
echo '<article>';
echo '<p>El valor de $concat = $num + $str es: <span> = ' . $num . ' + "' . $str .
'"</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Octava operacin
$concat = $num + $cad;
echo '<article>';
echo '<p>El valor de $concat = $num + $cades: <span> = ' . $num . ' + "' . $cad .
'"</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Novena operacin
$concat = $val + $str;
echo '<article>';
echo '<p>El valor de $concat = $val + $str es: <span> = ' . $val . ' + "' . $str .
'"</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';

//Dcima operacin
$concat = $str + $cad;
echo '<article>';
echo '<p>El valor de $concat = $str + $cad es: <span> = "' . $str . '" + "' . $cad .
'"</span> = <span>';
echo $concat . '</span> y el tipo de dato es: <span>' . gettype($concat) .
"</span></p>" . SALTO;
echo '</article>';
echo '</section>';
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 19
?>
</body>
</html>

Se"undo arc(ivo8 conversion!css
body {
background-image: url(../img/bluewall.gif);
background-repeat: repeat-x;
background-color: rgb(199,211,244);
margin-left: 10px;
margin-right: 10px;
margin-top: 90px;
}

hr {
width: 99%;
height: 8px;
background-color: Purple;
}

h1 {
text-align: center;
font-family: "Bookman Old Style";
font-weight: 800;
font-size: 24pt;
color: Purple;
}

p {
font-family: "Estrangelo Edessa";
font-weight: 500;
font-size: 14pt;
color: rgb(33,55,99);
}

p.datos {
font-family: "Courier New",sans-serif;
font-weight: 600;
font-size: 12pt;
color: rgb(10,10,130);
}

span {
font-family: "Cooper Black";
font-weight: 800;
font-size: 12pt;
color: BlueViolet;
}












Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 20

E9ercicio >C8 Este e9emplo muestra el uso de los distintos tipos de operadores de cadenaA en especial el
delimitador conocido como HERE D0#!
Primer arc(ivo8 cadenas!css
body {
background:rgb(210,210,210) url(../img/redwall.gif) repeat-x fixed;
margin-top:100px;
}

hr {
width:96%;
height:6px;
background-color:rgb(150,25,30);
}

h1 {
text-align:center;
font-family:"Myriad Pro",Arial,Helvetica,sans-serif;
letter-spacing:1.25px;
font-weight:500;
font-size:22pt;
color:MidnightBlue;
}

h3 {
text-align:center;
font-family:Eurostile,Verdana,Helvetica;
letter-spacing:1.25px;
font-weight:500;
font-size:22pt;
color:MidnightBlue;
}

p {
font-family:Georgia;
font-weight:600;
font-size:12pt;
color:Brown;
}

Se"undo arc(ivo8 cadenas!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<title>Tipos de datos en PHP</title>
<link type="text/css" rel="stylesheet" media="screen" href="css/cadenas.css" />
<script language="JavaScript" type="text/javascript"
src="js/modernizr.custom.lis.js"></script>
</head>
<body>
<?php
$title = "Tipos de datos en PHP";
printf("<header>");
printf("<h1>$title</h1><hr />");
printf("</header>");
//Ejemplos con nmeros enteros
$a = 536; # nmero decimal
$a = -258; # un nmero negativo
$a = 0123; # nmero octal (equivalente al 83 decimal)
$a = 0x12; # nmero hexadecimal (equivalente al 18 decimal)
echo "<p>$a<br />\n";
//Ejemplos con nmeros con parte decimal
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 21
$a = 1.579;
$a = 1.2e3;
echo $a."</p><br />\n";
//Ejemplos con cadenas de texto
$proverbio = <<<PRO
<I>
"Aquel que pregunta es un tonto por un momento, pero
el que no pregunta, permanecer tonto para siempre."
</I>
PRO;
$str = <<<EOD
<article>
<p>
Este es un ejemplo de cadena expandiendo mltiples lneas
usando sintaxis de documento incrustado, conocida tambin como
sintaxis HERE DOC usada en el lenguaje Perl.<br> $proverbio.
</p>
</article>
EOD;
$str4 = "<header>\n";
$str4 .= "<span>Este es el curso de ";
$str4 .= "Lenguajes Interpretados en el Cliente.</span>\n";
printf("<h3>Bienvenida: %s</h3>\n</header>", $str4);
echo "<section>\n";
echo "<article>\n";
echo $str;
echo "</article>\n";
echo "</section>\n";
?>
</body>
</html>

E9ercicio >D8 El si"uiente e9emplo muestra cmo "enerar cdi"o HT@/ desde PHPE es decirA utilizar
variables , concatenarlas para ir "enerando un documento HT@/ e imprimirlo (asta tener una cadena
completa o utilizar una instruccin echo para imprimir instruccin por instruccin!
Primer arc(ivo8 (tmlcode!p(p
<?php
$doctype = "<!DOCTYPE html>\n";
echo $doctype;
$html = "<html lang=\"es\">\n";
$html .= "<head>\n";
$html .= " <title>Generaci&oacute;n de c&oacute;digo HTML con PHP</title>\n";
$html .= " <script language=\"JavaScript\" type=\"text/javascript\"
src=\"js/modernizr.custom.lis.js\"></script>";
//Agregando estilo
$html .= "<style type=\"text/css\">\n";
$html .= " body {\n";
$html .= " background-image:url(img/normaltapiz.gif);\n";
$html .= " background-repeat:repeat-y;\n";
$html .= " background-color:NavajoWhite;\n";
$html .= " margin-left:175px;\n";
$html .= " }\n";
$html .= " h1 {\n";
$html .= " text-align:center;\n";
$html .= " font-family:\"Bodoni MT Black\";\n";
$html .= " font-weight:900;\n";
$html .= " font-size:22pt;\n";
$html .= " color:Brown;\n";
$html .= " }\n";
$html .= " hr {\n";
$html .= " width:100%;\n";
$html .= " height:22px;\n";
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 22
$html .= " background: rgba(212,154,68,1);\n";
$html .= " background: -moz-linear-gradient(left, rgba(212,154,68,1) 0%,
rgba(233,212,179,1) 0%, rgba(193,158,103,1) 50%, rgba(182,141,76,1) 100%);\n";
$html .= " background: -webkit-gradient(left top, right top, color-stop(0%,
rgba(212,154,68,1)), color-stop(0%, rgba(233,212,179,1)), color-stop(50%,
rgba(193,158,103,1)), color-stop(100%, rgba(182,141,76,1)));\n";
$html .= " background: -webkit-linear-gradient(left, rgba(212,154,68,1) 0%,
rgba(233,212,179,1) 0%, rgba(193,158,103,1) 50%, rgba(182,141,76,1) 100%);\n";
$html .= " background: -o-linear-gradient(left, rgba(212,154,68,1) 0%,
rgba(233,212,179,1) 0%, rgba(193,158,103,1) 50%, rgba(182,141,76,1) 100%);\n";
$html .= " background: -ms-linear-gradient(left, rgba(212,154,68,1) 0%,
rgba(233,212,179,1) 0%, rgba(193,158,103,1) 50%, rgba(182,141,76,1) 100%);\n";
$html .= " background: linear-gradient(to right, rgba(212,154,68,1) 0%,
rgba(233,212,179,1) 0%, rgba(193,158,103,1) 50%, rgba(182,141,76,1) 100%);\n";
$html .= " filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#d49a44', endColorstr='#b68d4c',
GradientType=1);\n";
$html .= " }\n";
$html .= " p,li {\n";
$html .= " font-family:\"Century Gothic\";\n";
$html .= " font-weight:400;\n";
$html .= " font-size:11pt;\n";
$html .= " color:SaddleBrown;\n";
$html .= " }\n";
$html .= "</style>\n";
$html .= "</head>\n";
$html .= "<body>\n";
$html .= " <header>\n";
$html .= " <h1>Lenguajes de scripts</h1>\n";
$html .= " <hr>\n";
$html .= " </header>\n";
$html .= " <section>\n";
$html .= " <article>\n";
$html .= " <p>\n";
$html .= " Existen varios lenguajes para realizar scripts que se \n";
$html .= " ejecutan del lado del servidor. \n";
$html .= " Entre los m&aacute;s destacados podemos mencionar:\n";
$html .= " <ul type=\"disc\">\n";
$html .= " <li>PHP (Hypertext PreProcesor)</li>\n";
$html .= " <li>ASP (Active Server Pages)</li>\n";
$html .= " <li>JSP (Java Servlet Pages)</li>\n";
$html .= " <li>CGI (Commom Gateway Interface)</li>\n";
$html .= " </ul>\n";
$html .= " </p>\n";
$html .= " </article>\n";
$html .= " </section>";
$html .= "</body>\n";
$html .= "</html>\n";
echo $html;
?>


E9ercicio >F8 El si"uiente e9emplo muestra el uso de las diversas variables predefinidas de PHPA al"unas de
ellas conocidas como matrices super"lobales , otras como variables de servidor!
Primer arc(ivo8 varpredefinidas!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Variables predefinidas</title>
<link type="text/css" rel="stylesheet" href="css/predefinidas.css" media="screen" />
<script type="text/javascript" src="js/modernizr.custom.lis.js"></script>
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 23
</head>
<body>
<?php
printf("<div id=\"contenedor\">\n");
printf("<header>\n");
printf("<img src=\"img/bg-header.png\" alt=\"Variables predefinidas\"
title=\"Variables predefinidas\"\n");
printf("</header>\n");
printf("<section>\n");
printf("<article>\n");
printf("<p>En esta pgina se ilustrar cmo se utilizan algunas variables
predefinidas\n");
printf("en el lenguaje PHP. Estas variables estn disponibles para cualquier
script\n");
printf("que se ejecute y las utilice.</p>\n");
printf("<p>El valor de estas variables depender del servidor sobre el que se
ejecuten, \n");
printf("de la versin de este y de la configuracin que tenga.</p>\n");
printf("<h3>Ejemplos de utilizacin:</h3>\n");
printf("<ul>\n<li>El nombre del servidor donde se est ejecutando este script es:
<b><i>\$_SERVER['SERVER_NAME'] = %s</i></b></li>\n", $_SERVER['SERVER_NAME']);
printf("<li>El directorio raz de documentos en el servidor web es:
<b><i>\$_SERVER['DOCUMENT_ROOT'] = %s</i></b></li>\n", $_SERVER['DOCUMENT_ROOT']);
printf("<li>El software que est utilizando es: <b><i>\$_SERVER['SERVER_SOFTWARE'] =
%s</i></b></li>\n", $_SERVER['SERVER_SOFTWARE']);
printf("<li>El protocolo que se est utilizando para ver esta pgina es:
<b><i>\$_SERVER['SERVER_PROTOCOL'] = %s</i></b></li>\n", $_SERVER['SERVER_PROTOCOL']);
printf("<li>El puerto de la mquina usado por el servidor web para la comunicacin
HTTP es: <b><i>\$_SERVER['SERVER_PORT'] = %s</i></b></li>\n", $_SERVER['SERVER_PORT']);
printf("<li>La direccin IP de su computadora es: <b><i>\$_SERVER['REMOTE_ADDR'] =
%s</i></b></li>\n", $_SERVER['REMOTE_ADDR']);
printf("<li>La ruta del script actual en el servidor es:
<b><i>\$_SERVER['SCRIPT_NAME'] = %s</i></b></li>\n", $_SERVER['SCRIPT_NAME']);
printf("<li>La ruta absoluta del script que se est ejecutando actualmente:
<b><i>\$_SERVER['SCRIPT_FILENAME'] = %s</i></b></li>\n", $_SERVER['SCRIPT_FILENAME']);
printf("<li>La cadena de consulta de la peticin de la pgina (si existe) es:
<b><i>\$_SERVER['QUERY_STRING'] = %s</i></b></li>\n", $_SERVER['QUERY_STRING']);
printf("<li>La URI que se emple para acceder a la pgina es:
<b><i>\$_SERVER['REQUEST_URI'] = %s</i></b></li>\n", $_SERVER['REQUEST_URI']);
printf("<li>El puerto empleado por el equipo del usuario para comunicarse con el
servidor es: <b><i>\$_SERVER['REMOTE_PORT'] = %s</i></b></li>\n",
$_SERVER['REMOTE_PORT']);
printf("<li>El idioma definido por el navegador de tu computadora es:
<b><i>\$_SERVER['HTTP_ACCEPT_LANGUAGE'] = %s</i></b></li>\n",
$_SERVER['HTTP_ACCEPT_LANGUAGE']);
printf("<li>Ests viendo esta pgina en un navegador:
<b><i>\$_SERVER['HTTP_USER_AGENT'] = %s</i></b></li>\n", $_SERVER['HTTP_USER_AGENT']);
printf("<li>El puerto de comunicacin con el servidor de la computadora que ests
utilizando es: <b><i>\$_SERVER['REMOTE_PORT'] = %s</i></b></li>\n",
$_SERVER['REMOTE_PORT']);
printf("<li>La ubicacin y el nombre del archivo que contiene el script que ests
ejecutando es: <b><i>\$_SERVER['PHP_SELF'] = %s</i></b></li>\n</ul>",
$_SERVER['PHP_SELF']);
printf("</article>\n");
printf("</section>\n");
printf("</div>\n");
?>
</body>
</html>

Se"undo arc(ivo8 predefinidas!css
#contenedor {
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 24
margin: 0 auto;
width: 86%;
}

body {
margin: 0 2em 2em 6em;
background: rgb(200,220,250) url(../img/wavepattern.png) repeat-y;
}

p, ul li {
color: rgb(20,20,60);
font: normal 0.9em Georgia,Perpetua,serif,helvetica;
line-height: 1.5em;
}

/* ul {
list-style-image: url(../img/triangle-bullet.gif);
} */

li {
background-image: url(../img/triangle-bullet.gif);
background-position: left bottom;
background-repeat: no-repeat;
list-style: none;
padding-left: 32px;
}

h3 {
font: bold 1.2em "Bodoni MT Black","Bookman Old Style",Helvetica,serif;
color: rgb(130,30,10);
}


E9ercicio >G8 Este e9ercicio muestra el uso de una instruccin condicional simpleA basada en el (ec(o de si
una persona que compra un boleto para el cine es estudiante o no para aplicarle un descuento en la compra
de dic(o boleto!
Primer arc(ivo8 estudiante!(tml
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>C&aacute;lculo de precio</title>
<link type="text/css" rel="stylesheet" href="css/estudiante.css" />
</head>
<body>
<header>
<h1>Entrada al cine</h1>
</header>
<section>
<article>
<form name="frmcalculo" action="estudiante.php" method="POST">
<fieldset>
<legend>Datos del estudiante:</legend>
<label for="edad">Edad:</label>
<input type="text" name="edad" id="age" maxlength="2" class="txt"
pattern="\d{1,2}" required /><br />
<label for="pelicula">Pel&iacute;cula:</label>
<input type="text" name="pelicula" id="movie" maxlength="100" class="txt"
required /><br />
<label for="estudiante">Estudiante:</label><br />
<input type="radio" name="estudiante" value="Si" checked="checked"
class="radio" />
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 25
<label class="radio">Si</label>
<input type="radio" name="estudiante" value="No" class="radio" />
<label class="radio">No</label><br />
<input type="submit" name="enviar" value="Calcular" class="boton" />&nbsp;
<input type="reset" name="reset" value="Restablecer" class="boton" />
</fieldset>
</article>
</form>
</section>
</body>
</html>

Se"undo arc(ivo8 estudiante!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Monto a cancelar</title>
<link type="text/css" rel="stylesheet" href="css/tabla.css" media="screen" />
<!-- <script type="text/javascript" src="js/tablerollover.js"></script> -->
</head>
<body>
<?php
error_reporting(E_ALL);
define("DESCUENTO", 0.15);
if(isset($_POST['enviar'])){
$edad = isset($_POST['edad']) ? $_POST['edad'] : "";
$pelicula = isset($_POST['pelicula']) ? $_POST['pelicula'] : "";
$estudiante = isset($_POST['estudiante']) ? $_POST['estudiante'] : "";
$precio = 3.75;
if($estudiante == "Si"){
$precio *= (1 - DESCUENTO);
$precio = number_format($precio, 2, '.', ',');
}
else{
$precio = $precio;
}
$tabla = <<<TABLA
<table id="datos">\n
<caption>Datos del formulario</caption>\n
<thead>
</thead>
<tbody>
<tr>\n
<th>
Pel&iacute;cula
</th>\n
<td class="dato" onmouseover="this.className='apuntado'"
onmouseout="this.className='dato'">
$pelicula
</td>\n
</tr>\n
<tr>\n
<th>
Edad
</th>\n
<td class="dato" onmouseover="this.className='apuntado'"
onmouseout="this.className='dato'">
$edad
</td>\n
</tr>
<tr>
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 26
<th>
Estudiante
</th>\n
<td class="dato" onmouseover="this.className='apuntado'"
onmouseout="this.className='dato'">
$estudiante
</td>\n
</tr>
<tr>
<th>
Precio
</th>\n
<td class="dato" onmouseover="this.className='apuntado'"
onmouseout="this.className='dato'">
\$ $precio
</td>\n
</tr>\n
</tbody>
</table>\n
TABLA;
echo $tabla;

}
else{
echo "ERROR: Datos no han sido enviados.";
}
?>
</body>
</html>

Tercer arc(ivo8 estudiante!css
body {
font-size:16px;
}

fieldset {
width:350px;
background-color:#ccff99;
color:#000;
}

legend {
font:bold 0.9em "Century Gothic",Verdana,Helvetica,sans-serif;
padding:2px 5px;
background-color:#ff9039;
color:#400660;
border:3px double #4C0680;
}

label {
font:normal 0.9em "Century Gothic",Verdana,Helvetica,sans-serif;
display:block;
float:left;
width:100px;
}

input {
background-color:#FAFAFA;
border:1px solid #999;
color:#000;
display:block;
float:right;
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 27
font:normal 0.8em Garamond;
width:200px;
}

input[type*="radio"]{
width:20px;
float:left;
}

input.boton {
width:5.4em;
border:1px solid;
border-color:#F0F0F0 #000 #000 #F0F0F0;
background-color:#CCC;
color:#000;
cursor:pointer;
}

.radio {
float:left;
width:20px;
}

input.radio {
width:1em;
height:1em;
}

* html fieldset {
position:relative;
margin-top:-0.5em;
padding:0 0.5em 0.5em 0.5em;
}

* html legend {
position:relative;
top:-0.9em;
z-index:10;
}

#uarto arc(ivo8 tabla!css
body {
font:bold 0.9em Eurostyle,Garamond,Helvetica,sans-serif;
color:Brown;
}

table#datos {
border:1px solid rgb(20,20,20);
caption-side:top;
}

table#datos caption {
font:bold 1.2em Eurostyle,"Bookman Old Style",Helvetica,sans-serif;
}

table#datos th {
background:lightyellow;
text-align:center;
}

table#datos td.dato {
border:1px solid rgb(225,190,25);
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 28
padding:5px;
text-align:center;
}

table#datos td.apuntado {
border:1px solid rgb(225,190,25);
background-color:rgb(160,70,80);
color:rgb(255,235,205);
padding:5px;
text-align:center;
}

* html fieldset {
position:relative;
margin-top:-0.5em;
padding:0 0.5em 0.5em 0.5em;
}

* html legend {
position:relative;
top:-0.9em;
z-index:10;
}


E9ercicio >H8 Este +ltimo e9emplo ilustrar cmo obtener los datos in"resados en un formulario ,
procesarlos con un script PHP sencillo queA de momentoA no utilizar nin"una validacin del lado del
servidorA solamente validacin del lado del cliente con BavaScript que ,a conoce! En posteriores prcticas
abordaremos ese tema!
Primer arc(ivo8 in"resodatos!(tml
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Formulario de ingreso de datos</title>
<link type="text/css" rel="stylesheet" media="screen" href="css/forms.css" />
<script type="text/javascript" src="js/validacion.js"></script>
<script type="text/javascript" src="js/modernizr.custom.lis.js"></script>
</head>
<body>
<header>
<h1>Ingreso de datos</h1>
</header>
<section>
<article>
<form action="procesar.php" method="POST">
<label>Cliente:</label>
<input type="text" name="client" onkeypress="return charsOnly(this, event)" />
<label>Producto:</label>
<input type="text" name="product" />
<label>Precio:</label>
<input type="text" name="price" onkeypress="return numbersOnly(this, event)" />
<label>Cantidad:</label>
<input type="text" name="quantity" onkeypress="return integersOnly(this, event)"
/>
<input type="submit" value="Enviar" name="submit" class="submit" />
</form>
</article>
</section>
</body>
</html>
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 29

Se"undo arc(ivo8 forms!css
body {
font-size: 16px;
}

header {
margin:auto;
width:300px;
}

header h1 {
font: bold 2.2em Tahoma,Helvetica,sans-serif;
color:#4E0085;
}

form {
margin:auto;
width:250px;
padding:20px;
border:1px solid #270644;
/* Agregando propiedades CSS3 */
border-radius:12px;
-ms-border-radius:12px;
-moz-border-radius:12px;
-webkit-border-radius:12px;
-khtml-border-radius:12px;
behavior:url(rounded/border-radius.htc);

background:#4E0085;
background: -ms-radial-gradient(19% 75% 90deg, #4E0085, #963AD6);
background:-moz-linear-gradient(19% 75% 90deg, #4E0085, #963AD6);
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#963AD6), to(#4E0085));
/* background:silver url("rounded.svg"); */

/* Sombra a los costados de las cajas */
box-shadow:0px -5px 300px #270644;
-ms-box-shadow:0px -5px 300px #270644;
-moz-box-shadow:0px -5px 300px #270644;
-webkit-box-shadow:0px -5px 300px #270644;
}

label {
color:#FFD700;
font:Bold 1.1em Linotype,sans-serif;
text-transform:uppercase;
}


input {
width: 230px;
background: #8a33c6;
padding: 6px;
margin-bottom: 10px;
border-top: 1px solid #808080;
border-left: 1px solid #808080;
border-right: 1px solid #AD64E0;
border-bottom: 1px solid #AD64E0;
/* Agregando propiedades CSS3 */
-webkit-transition-property: -webkit-box-shadow, background;
-webkit-transition-duration: 0.25s;
-moz-box-shadow: 0px 0px 2px #000;
-webkit-box-shadow: 0px 0px 2px #000;
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 30
}

input[type=text] {
font:Normal 1em Palatino,Helvetica,sans-serif;
color:#EFEEEF;
}

input[type=submit] {
background: #FFA500;
color: #8B008B;
border-top: 2px solid #F5DEB3;
border-left: 2px solid #F5DEB3;
border-right: 2px solid #BC8F8F;
border-bottom: 2px solid #BC8F8F;
text-transform:uppercase;
font:Bold 1em Linotype,sans-serif;
}

input[type=submit]:hover {
background-color:#FF4500;
color:#800080;
}

input:hover {
-webkit-box-shadow: 0px 0px 4px #000;
background: #A33CF0;
}

Tercer arc(ivo8 procesar!p(p
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8" />
<title>Informaci&oacute;n recibida</title>
<link type="text/css" rel="stylesheet" media="screen" href="css/tables.css" />
<script type="text/javascript" src="js/modernizr.custom.lis.js"></script>
</head>
<body>
<section>
<article>
<div id="info">
<table id="hor-zebra" summary="Datos recibidos del formulario">
<caption>Informaci&oacute;n de formulario</caption>
<thead>
<tr class="thead">
<th scope="col">Campo</th>
<th scope="col">Valor</th>
</tr>
</thead>
<tbody>
<?php
echo "<tr class=\"odd\">\n";
echo "<td>\nCliente\n</td>\n";
echo "<td>\n" . $_POST['client'] . "\n</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\nProducto\n</td>\n";
echo "<td>\n" . $_POST['product'] . "\n</td>\n";
echo "</tr>\n";
echo "<tr class=\"odd\">\n";
echo "<td>\nPrecio\n</td>\n";
echo "<td>\n$ " . $_POST['price'] . "\n</td>\n";
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 31
echo "</tr>\n";
echo "<tr>\n";
echo "<td>\nCantidad\n</td>\n";
echo "<td>\n" . $_POST['quantity'] . "\n</td>\n";
echo "</tr>\n";
echo "<tr class=\"odd\">\n";
echo "<td>\nTotal a pagar\n</td>\n";
echo "<td>\n$ " . number_format($_POST['price'] * $_POST['quantity'], 2, '.', ',') .
"\n</td>\n";
echo "</tr>\n";
?>
</tbody>
</table>
<div id="link">
<a href="ingresodatos.html">Ingresar datos nuevamente</a>
</div>
</div>
</article>
</section>
</body>
</html>

#uarto arc(ivo8 tables!css
/******************************
* Estilos para las tablas *
******************************/

body {
line-height: 1.6em;
}

caption {
font-size: 1.2em;
}

/* Estilos ocupados en el ejemplo de formularios */
#hor-zebra {
font-family: "Lucida Sans Unicode", "Lucida Grande", Sans-Serif;
font-size: 12px;
margin: 45px;
width: 480px;
text-align: left;
border-collapse: collapse;
}

#hor-zebra th {
font-size: 14px;
font-weight: normal;
padding: 10px 8px;
color: #039;
}

#hor-zebra td {
padding: 8px;
color: #669;
}

#hor-zebra .thead {
background: #2e3d66;
}

#hor-zebra .thead th {
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 32
padding: 10px 8px;
color: #fcec33;
font:Bold 12px "Lucida Sans Unicode", Helvetica, Sans-Serif;
}
#hor-zebra .odd {
background: #e8edff;
}

7uinto arc(ivo8 validacion!9s
// Dejar pasar nicamente nmeros enteros y bloquear cualquier otra caracter
function integersOnly(field, event){
var key, keychar;
//showChar(event); //Mostrar la tecla presionada
if(window.event) //Todos los navegadores menos Netscape 4.0 o inferior
key = window.event.keyCode;
else if(event) //Netscape 4.0 o inferior
key = event.which;
else
return true;
keychar = String.fromCharCode(key);
// Comprobar caracteres especiales como espacio en blanco
// luego comprobar nmeros
if((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key ==
27))
return true;
else if((("0123456789").indexOf(keychar) > -1)){
window.status = "";
return true;
}
else{
window.status = "Este campo solo acepta nmeros";
return false;
}
}

// Dejar pasar nicamente nmeros enteros y el punto decimal, si se ha
// ingresado una sola vez en el campo de formulario
function numbersOnly(field, event){
var key, keychar;
//showChar(event); //Mostrar la tecla presionada
if(window.event) //Todos los navegadores menos Netscape 4.0 o inferior
key = window.event.keyCode;
else if(event) //Netscape 4.0 o inferior
key = event.which;
else
return true;
keychar = String.fromCharCode(key);
// Comprobar caracteres especiales como espacio en blanco
// luego comprobar nmeros
if((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key ==
27) || (key == 190))
return true;
else if((("0123456789.").indexOf(keychar) > -1)){
window.status = "";
return true;
}
else{
window.status = "Este campo solo acepta nmeros";
return false;
}
}

Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 33
// Dejar pasar nicamente caracteres del alfabeto
function charsOnly(field, event){
var key, keychar;
//showChar(event); //Mostrar la tecla presionada
if(window.event) //Todos los navegadores menos Netscape 4.0 o inferior
key = window.event.keyCode;
else if(event) //Netscape 4.0 o inferior
key = event.which;
else
return true;
keychar = String.fromCharCode(key);
// Comprobar caracteres especiales como espacio en blanco, retroceso
if((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key ==
27) || (key == 32) || (key == 239))
return true;
else
if((("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~").indexOf(keyc
har) > -1)){
window.status = "";
return true;
}
else{
window.status = "Este campo solo acepta letras del alfabeto";
return false;
}
}



V. DISCUSIN DE RESULTADOS

$% 1ealice un script PHP que muestre mediante la utili(acin de 'aria!les sus datos personales: nom!re
completo+ lugar de nacimiento 4departamento y pas+ si es extran$ero6+ edad y carnet de la uni'ersidad.
/uestre estos datos en una ta!la utili(ando la sintaxis HE1E DECC.
&% Celeccione un script+ que no sea ninguno de los dos primeros+ y modi&quelo para que todo el cdigo
H./# sea generado con instrucciones eco+ tal y como en el e$emplo * 4tmlcod.pp6.
'% Cree una pgina que muestre en una ta!la H./# Equi'alencias entre = monedas di&erentes. #a columna
de la dereca de!e mostrar una cantidad en la moneda !ase y la columna de la i(quierda el equi'alente
en la otra moneda. 1ealice clculos utili(ando de&inicin de constantes y 'aria!les para o!tener la
con'ersin. Cus monedas !ase de!en ser constantes y las equi'alencias tienen que almacenarse en
'aria!les para generar la ta!la.



VI. INVESTIGACIN COMPLEMENTARIA

$% :n'estigue las constantes de PHP conocidas como constantes prede&inidas o NmgicasO y las constantes
para el tratamiento de errores que !rinda el lengua$e. /uestre en una ta!la de dos columnas la constante
y su utilidad. Por e$emplo:

EH>## .odos los errores y ad'ertencias soportados.

&% :n'estigue todas las &unciones que dispone PHP para determinar el tipo de una 'aria!le. Haga una ta!la
con dos columnas+ una con la sintaxis de la &uncin y otra con la descripcin. Por e$emplo:
a. boolean is_numeric($arg) De'uel'e true si la 'aria!le es un n3mero o una cadena
num)rica o &also en otro caso.
Gua #1: Introduccin a la programacin web con PHP
Lenguajes Interpretados en el Servidor 34


VII. BIBLIOGRAFA

1. .im Con'erse 8 Cte'e Cuering. #> I:I#:> DE PHP F y /yCD#. Editorial >naya /ultimedia. 1a.
Edicin. /adrid+ Espa,a. 2772.
2. ?il 1u!io+ 9rancisco ]a'ier 8 Silla'erde+ Cantiago >lonso. C1E>C:^0 DE C:.:EC LEI CE0 PHP *. 1ra.
Edicin. Editorial /c?ra-JHill8:nteramericana. /adrid+ Espa,a 277F.
". Lelling+ #uAe 8 .omson+ #aura. DEC>11E##E LEI CE0 PHP _ /yCD#. .raduccin de la "ra
Edicin en ingl)s. Editorial >naya /ultimedia. /adrid+ Espa,a 277*.
%. ?uti)rre(+ >!raam 8 Ira'o+ ?in)s. PHP * > .1>S`C DE E]E/P#EC. 1ra. Edicin. Editorial >l&aomega.
/)xico+ $unio 277*.
*. ]on Coggesall. #> I:I#:> DE PHP *. 1ra. Edicin. Editorial >naya /ultimedia. /adrid+ Espa,a 277*.
F. Doyle+ /att. 9B0D>/E0.EC PHP P1aC.:CE. 1ra Edicin. Editorial >naya /ultimedia. /adrid+
Espa,a. 2717.

Вам также может понравиться