SlideShare ist ein Scribd-Unternehmen logo
1 von 146
Introducción a la programación en
internet
Conceptos de aplicaciones Web
La diferencia entre escritorio y web.
Aplicación Desktop

• También llamadas de Escritorio, es aquella
que está instalada en la computadora del
usuario, que es ejecutada directamente por el
sistema operativo, cuyo rendimiento depende
de las especificaciones de la computadora.
Ventajas
• Habitualmente su ejecución no requiere comunicación
con el exterior, sino que se realiza en forma local.
• Son más robustas y estables
• En tiempo de respuesta en muy rápido
• Pueden ser muy seguras
Desventajas
• Su acceso se limita al ordenador donde están
instaladas.
• Son dependientes del sistema operativo que
utiliza la computadora.
• Requieren instalación personalizada.
• Requieren actualizaciones personalizadas.
• Suelen tener requerimientos especiales de
software y librerías.
Aplicación Web
• También llamadas Online, es aquella que está instalada en
un Servidor y su ejecución requiere disponer de una
computadora con conexión a Internet y de un Navegador.
Ventajas
• Portabilidad: se ejecutan en cualquier equipo de
computo
• La información que manejan es accesible a través de
Internet
• Son aplicaciones muy ligeras, el navegador no tiene el
programa, por consiguiente el navegador no debe ser
muy pesado.
• Consumen muy pocos recursos
• Son fáciles de actualizar.
• Su funcionalidad es independiente del sistema
operativo
• No hay problemas de incompatibilidad entre
versiones, porque el usuario trabaja con la misma.
Desventajas
• Es necesaria una conexión a Internet.
• La comunicación con el servidor que ejecuta la
aplicación establece una dependencia a una
buena conexión a Internet.
• El servidor debe tener las prestaciones necesarias
para la ejecutar la aplicación de manera fluida.
• El tiempo de ejecución, puede ser lento
dependiendo de las características de la
computadora y de la conexión a Internet.
El usuario desde cualquier parte del mundo y
desde cualquier dispositivo (PC, laptop,
mobile), desea ver donde será el próximo
@BeerTwit.
1.-El usuario tiene que ingresar la URL de la
página en su navegador (*1). El navegador por
detrás se encargará de hacer un request
(solicitud) al servidor Web usando el
protocolo de comunicación HTTP (*2)
(internet), y en este caso usará el método GET,
porque sólo quiere obtener información
• El servidor Web recibe el request y envía un
response (sólo html) al navegador. Los
navegadores no entienden el código ASP, PHP, o
JSP, ellos sólo muestran contenido en html (*3),
es por eso que todos los servidores Web después
de procesar un request devuelven sólo html (que
puede incluir Javascript (*4)), el html generado
debe ser un formulario en html, para que el
usuario pueda enviar su información. Por otro
lado si el usuario ha iniciado sesión con
anterioridad es posible que su sesión este activa,
y no tenga que iniciar sesión nuevamente.
• El usuario llena su información, user y password, y
hace clic en el famoso botón “Sign in”. El navegador
por detrás recolectará esta información, y en este caso
que se desea enviar esa información al servidor debe
estar usando el método POST. Todos los lenguajes usan
POST para enviar información a una página, ya sea
ASP.NET, Php, JSP, etc (*5). En el caso especial de
ASP.NET cuando están desarrollando por defecto todos
los formularios se envían usando POST, pueden hacer
“View Source” de una página en el navegador y verán
que el formulario html tiene el método POST. Pueden
ver también esto usando la herramienta Fiddler. Con
GET también se puede enviar variables, pero no es
técnicamente enviar información, es mas bien, un
obtener información con estos parámetros.
• El request llega al servidor Web, y se ejecutará el
código de servidor Php, Jsp, o ASP, que se conectará
con la base para verificar si existe el usuario y si el
password coincide con el enviado por el usuario.
• Si el usuario y el password son validos, el código de
servidor (login.php, login.jsp, o
login.aspx), redireccionará el request a otra página
showUpdates.php, la cual se conecta nuevamente a la
base de datos para traer todos los updates de los
amigos del usuario, después de procesar la página, el
servidor envía el response (sólo html) al usuario.
• El usuario ve en una página las últimas actualizaciones
de sus amigos, y parece que esta semana no habrá
@BeerTwit, así que tendrá que inventar alguna excusa
para generar uno nuevo.
Introducción a XAMPP
• XAMPP es un servidor independiente de
plataforma, software libre, que consiste principalmente
en la base de datos MySQL, el servidor web Apache y
los intérpretes para lenguajes de script: PHP y Perl. El
nombre proviene del acrónimo de X (para cualquiera
de los diferentes sistemas
operativos), Apache, MySQL, PHP, Perl.
• El programa está liberado bajo la licencia GNU y actúa
como un servidor web libre, fácil de usar y capaz de
interpretar páginas dinámicas. Actualmente XAMPP
está disponible para Microsoft
Windows, GNU/Linux, Solaris y MacOS X.
¿Qué es PHP?
• PHP (acrónimo dePHP: HypertextPreprocessor)
es un lenguaje de código abierto muy popular
especialmente adecuado para desarrollo web
y que puede ser incrustado en HTML.
• Una respuesta corta y concisa, pero, ¿qué
significa realmente? Un ejemplo nos aclarará
las cosas:
• En lugar de usar muchos comandos para mostar HTML
(como en C o Perl), páginas PHP contienen HTML con
código incluido en el mismo que hace "algo" (en este
caso, mostrar "Hola ¡soy un script PHP!). El código PHP
está entre medio de etiquetas de comienzo y final
especiales<?php y ?> que nos permitirán entrar y salir
del "modo PHP".
• Lo que distingue a PHP de algo lado-cliente como
Javascript, es que el código es ejecutado en el
servidor, generando HTML y enviándolo al cliente. El
cliente recibirá los resultados de ejecutar el script, sin
ninguna posibilidad de determinar qué código ha
producido el resultado recibido. El servidor web puede
ser incluso configurado para que procese todos los
archivos HTML con PHP y entonces no hay manera que
los usuarios puedan saber que tienes debajo de la
manga.
<html>
<head>
<title>Ejemplo PHP</title>
</head>
<body>
<?php phpinfo() ?>
</body>
</html>
Arquitectura cliente-servidor
• La arquitectura cliente-servidores un modelo de aplicación
distribuida en el que las tareas se reparten entre los proveedores
de recursos o servicios, llamados servidores, y los
demandantes, llamados clientes. Un cliente realiza peticiones a otro
programa, el servidor, quien le da respuesta. Esta idea también se
puede aplicar a programas que se ejecutan sobre una sola
computadora, aunque es más ventajosa en un sistema
operativo multiusuario distribuido a través de una red de
computadoras.
• En esta arquitectura la capacidad de proceso está repartida entre
los clientes y los servidores, aunque son más importantes las
ventajas de tipo organizativo debidas a la centralización de la
gestión de la información y la separación de responsabilidades, lo
que facilita y clarifica el diseño del sistema.
• La separación entre cliente y servidor es una separación de
tipo lógico, donde el servidor no se ejecuta necesariamente
sobre una sola máquina ni es necesariamente un sólo
programa. Los tipos específicos de servidores incluyen los
servidores web, los servidores de archivo, los servidores del
correo, etc. Mientras que sus propósitos varían de unos
servicios a otros, la arquitectura básica seguirá siendo la
misma.

• Una disposición muy común son los sistemas multicapa en
los que el servidor se descompone en diferentes programas
que pueden ser ejecutados por
diferentes computadoras aumentando así el grado de
distribución del sistema.
• La arquitectura cliente-servidor sustituye a la arquitectura
monolítica en la que no hay distribución, tanto a nivel físico
como a nivel lógico.
• La red cliente-servidor es aquella red de comunicaciones en
la que todos los clientes están conectados a un servidor, en
el que se centralizan los diversos recursos y aplicaciones
con que se cuenta; y que los pone a disposición de los
clientes cada vez que estos son solicitados. Esto significa
que todas las gestiones que se realizan se concentran en el
servidor, de manera que en él se disponen los
requerimientos provenientes de los clientes que tienen
prioridad, los archivos que son de uso público y los que son
de uso restringido, los archivos que son de sólo lectura y los
que, por el contrario, pueden ser modificados, etc. Este tipo
de red puede utilizarse conjuntamente en caso de que se
esté utilizando en una red mixta.
Características
En la arquitectura C/S el remitente de una solicitud es conocido
como cliente. Sus características son:
• Es quien inicia solicitudes o peticiones, tienen por tanto un papel
activo en la comunicación (dispositivo maestro o amo).
• Espera y recibe las respuestas del servidor.
• Por lo general, puede conectarse a varios servidores a la vez.
• Normalmente interactúa directamente con los usuarios finales
mediante una interfaz gráfica de usuario.
• Al contratar un servicio de redes, se debe tener en cuenta la
velocidad de conexión que le otorga al cliente y el tipo de cable que
utiliza, por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
Al receptor de la solicitud enviada por el cliente se conoce
como servidor. Sus características son:
• Al iniciarse esperan a que lleguen las solicitudes de los
clientes, desempeñan entonces un papel pasivo en la
comunicación (dispositivo esclavo).
• Tras la recepción de una solicitud, la procesan y luego
envían la respuesta al cliente.
• Por lo general, aceptan conexiones desde un gran número
de clientes (en ciertos casos el número máximo de
peticiones puede estar limitado).
• No es frecuente que interactúen directamente con los
usuarios finales.
Protocolo HTTP
HTTP es un protocolo de transferencia de hipertexto que se usa en la Web.
HTTP es una sigla que significa HyperText Transfer Protocol, o Protocolo de
Transferencia de Hipertexto. Este protocolo fue desarrollado por las
instituciones internacionales W3C y IETF y se usa en todo tipo de
transacciones a través de Internet.

El HTTP facilita la definición de la sintaxis y semántica que utilizan los
distintos softwares web – tanto clientes, como servidores y proxis – para
interactuar entre sí. Este protocolo opera por petición y respuesta entre el
cliente y el servidor. A menudo las peticiones tienen que ver con
archivos, ejecución de un programa, consulta a una base de
datos, traducción y otras funcionalidades. Toda la información que opera en
la Web mediante este protocolo es identificada mediante el URL o dirección.
La típica transacción de protocolo HTTP se compone de un encabezado seguido
por una línea en blanco y luego un dato. Este encabezado define la acción
requerida por el servidor.
• Desde su creación, el HTTP evolucionó en diversas versiones. Entre
ellas, la 0.9, la 1.0, la 1.1 y la 1.2.El protocolo de este tipo opera con
códigos de respuesta de tres dígitos, que comunican si conexión fue
rechazada, si se realizó con éxito, si ha sido redirigida hacia otro
URL, si existe un error por parte del cliente, o bien, por parte del
servidor.
• Las aplicaciones y navegadores web tienden a complementar la
acción del HTTP como ocurre, por ejemplo, con las denominadas
“cookies”, que permiten almacenar información de la
sesión, función de la que no dispone este protocolo, ya que opera
sin estado.

• Hoy en día, muchas de las direcciones de URL requieren la inclusión
del protocolo “http://” para su correcto funcionamiento. Este
protocolo es usualmente seguido del típico código “www” y luego
por la dirección específica del sitio web que se desea visitar
Protocolo TCP/IP
• El nombre TCP/IP proviene de dos de los protocolos más
importantes de la familia de protocolos Internet, el Transmission
Control Protocol (TCP) y el Internet Protocol (IP).
• La principal virtud de TCP/IP estriba en que esta diseñada para
enlazar ordenadores de diferentes tipos, incluyendo PCs, minis y
mainframes que ejecuten sistemas operativos distintos sobre redes
de área local y redes de área extensa y, por tanto, permite la
conexión de equipos distantes geográficamente.
• Internet se encuentra estrechamente unida a un sistema de
protocolo de comunicación denominado TCP/IP (Transmission
Control Protocol/ Internet Protocol), que se utiliza para transferir
datos en Internet además en muchas redes de área local.
QUE ES TCP/IP Y COMO FUNCIONA?
• TCP/IP es el nombre de un protocolo de conexión de redes. Un protocolo
es un conjunto de reglas a las que se tiene que atener todas las compañías
y productos de software con él fin de que todos sus productos sean
compatibles entre ellos. Estas reglas aseguran que una máquina que
ejecuta la versión TCP/IP de Digital Equipment pueda hablar con un PC
Compaq que ejecuta TCP/IP.
• TCP/IP es un protocolo abierto, lo que significa que se publican todos los
aspectos concretos del protocolo y cualquiera los puede implementar.
• TCP/IP está diseñado para ser un componente de una red, principalmente
la parte del software. Todas las partes del protocolo de la familia TCP/IP
tienen unas tareas asignadas como enviar correo
electrónico, proporcionar un servicio de acceso remoto, transferir
ficheros, asignar rutas a los mensajes o gestionar caídas de la red.
• Una red TCP/IP transfiere datos mediante el ensamblaje de bloque de
datos en paquetes. Cada paquete comienza con una cabecera que
contiene información de control, tal como la dirección del destino, seguida
de los datos. Cuando se envía un archivo a través de una red TCP/IP, su
contenido se envía utilizando una serie de paquetes diferentes.
ARQUITECTURA DE NIVELES DE TCP / IP
•

Cuando se diseñó TCP/IP los comités establecidos para crear la familia de
protocolos consideraron todos los servicios que se tenían que proporcionar.
La distribución por niveles se utiliza en muchos sistemas de software; una
referencia común es la arquitectura ideal del protocolo de conexión de redes
desarrollada por la International OrganizationforStandardization, denominada
ISO, aunque en realidad debería decir IOS, ISO desarrollo el modelo de referencia
Open SystemsInterconnection (OSI), o Interconexión de Sistemas abiertos que
consta de siete niveles.

•
•
•
•
•
•
•

APLICACIÓN
PRESENTACION
SESION
TRANSPORTE
RED
ENLACE DE DATOS
FISICO

•

El modelo de referencia OSI se desarrolló para aislar los componentes comunes del
sistema del software en niveles. Cada nivel es independiente del resto.
• Cada nivel en el modelo de referencia OSI tiene una tarea
especifica que desempeñar. El objetivo de una arquitectura
por niveles es agrupar servicios afines, a la vez que
conseguir que sean independientes de los demás. Las
tareas son un poco abstractas, porque el modelo OSI es
simplemente eso, un modelo. No esta diseñado para ser un
modelo real, sino un modelo para que lo sigan sistemas
como TCP/IP.
El enfoque OSI por niveles es el que utiliza TCP/IP, aunque
con una ligera modificación. Los niveles son similares,
aunque TCP/IP agrupa varios de los niveles OSI en un único
nivel TCP/IP. Esto se realiza principalmente porque era el
mejor método de implementar los servicios TCP/IP.
• Una condición que se necesita para permitir que la arquitectura por
niveles funcione adecuadamente es que cada nivel debe saber lo
que recibe de un nivel por encima o por debajo. Para simplificar
esta tarea, cada nivel añade un bloque de datos al principio y al
final del mensaje que indica que nivel está implicado, además del
resto de información que los otros niveles y la máquina que lo va a
recibir necesitan para manejar el mensaje de forma adecuada. Los
datos dentro del mensaje se ignoran. Esto se denomina
encapsulación, ya que cada nivel añade una cápsula de información
en torno a los datos originales.
•
•
•
•
•

APLICACIÓN
TRANSPORTE
INTERNET
INTERFACE DE RED
FÍSICO
Los niveles TCP/IP
• Cada nivel lleva a cabo su propia
encapsulación añadiendo cabecera y bloques
finales que reciben del nivel superior, lo que
tiene como resultado seis conjuntos de
cabeceras y bloques finales en el momento en
que un mensaje llega a la red. Todas estas
cabeceras y bloques finales se pasan a la red
(como por ejemplo Ethernet o Netware) que
puede añadir incluso más información al
principio o al final
LOS COMPONENTES DE TCP/IP
Conjunto de Protocolos TCP/IP :
Todos estos servicios conforman TCP/IP, creando
un protocolo potente y eficaz de red. Los
diferentes protocolos dentro de TCP/IP se
mantienen de forma regular por un conjunto de
estándares que son parte de la organización de
Internet.
Los protocolos de transporte controlan el
movimiento de datos entre dos maquinas.
• « TCP (Transmission Control Protocol). Protocolo
de Control de Transmisión. Un servicio basado en
una conexión, lo que significa que las máquinas
que envían y reciben datos están conectadas y se
comunican entre ellas en todo momento.
• « UDP (UserDatagramProtocol). Protocolo de
Datagramas a nivel de Usuario. Un servicio sin
conexión, lo que significa que los datos se envían
o reciben estén en contacto entre ellas.
• Los protocolos de rutas gestionan el direccionamiento de
los datos y determinan el mejor medio de llegar la destino.
También pueden gestionar la forma en que se dividen los
mensajes extensos y se vuelven a unir en el destino.
« IP (Internet Protocol). Protocolo de Internet. Gestiona la
transmisión actual de datos.
« ICMP (Internet Control Message Protocol).Protocolo de
Control de Mensajes de Internet. Gestiona los mensajes de
estado para IP, como errores o cambios en el hardware de
red que afecten a las rutas.
« RIP (RoutingInformationProtocol). Protocolo de Información
de Rutas. Uno de los varios protocolos que determinan el
mejor método de ruta para entregar un mensaje.
« OSPF (Open Shortest Path First).AbrePrimero el Path Mas
Corto.Un protocolo alternativo para determinar la ruta
Las direcciones de red las gestionan servicios y es el
medio por el que se identifican las maquinas, tanto por
su nombre y número único.
« ARP (AddressResolutionProtocol). Protocolo de
Resolución de Direcciones. Determina las direcciones
numéricas únicas de las máquinas en la red.
« DNS (DomainNameSystem). Sistema de Nombres de
Dominio. Determina las direcciones numéricas desde
los nombres de máquinas.
« RARP (Reverse Address Resolution Protocol).Protocolo
de Resolución Inversa de Direcciones. Determina las
direcciones de las máquinas en la red, pero en sentido
inverso al de ARP.
Los servicios de usuario son las aplicaciones que un usuario (o
maquina) pueden utilizar.
« BOOTP (BootProtocol). Protocolo de Arranque, como su propio
nombre lo indica, inicializa una máquina de red al leer la
información de arranque de un servidor.
« FTP (File Transfer Protocol), el Protocolo de Transferencia de Ficheros
transfiere ficheros de una máquina a otra.
« TELNET permite accesos remotos, lo que significa que un usuario en
una máquina puede conectarse a otra y comportarse como si
estuviera sentado delante del teclado de la máquina remota.
Los protocolos de pasarela ayudan a que la red comunique
información de ruta y estado además de gestionar datos para redes
locales.
« EGP (Exterior Gateway Protocol). Protocolo de Pasarela
Externo, transfiere información de ruta para redes externas.
« GGP (Gateway-to-Gateway Protocol).Protocolo de Pasarela a
pasarela, transfiere información de ruta entre pasarelas.
« IGP (Interior Gateway Protocol). Protocolo de Pasarela
Interno, transfiere información de ruta para redes internas.
Los otros protocolos son servicios que no se adaptan a las
categorías, pero proporcionan servicios importantes en una red.
« NFS (Network File System). Sistema de Ficheros de Red, permite que
los directorios en una máquina se monten en otra y que un usuario
puede acceder a ellos como si estos se encontraran en la máquina
local.
« NIS (Network InformationService). Servicio de Información de
Red, mantiene las cuentas de usuario en todas las
redes, simplificando el mantenimiento de los logins y passwords.
« RPC (RemoteProcedureCall). Llamada de Procedimiento
Remota, permite que aplicaciones remotas se comuniquen entre
ellas de una manera sencilla y eficaz.
« SMTP (Simple Mail Transfer Protocol).Protocolo Simple de
Transferencia de Correo, es un protocolo dedicado que transfiere
correo electrónico entre máquinas.
« SNMP (Simple Network Management Protocol).Protocol Simple de
Gestión de Redes, es un servicio del administrador que envía
mensajes de estado sobre la red y los dispositivos unidos a ésta
SERVICIOS BÁSICOS TCP/IP
Sin haber instalado ningún software especial en el sistema de
su computadora, podrá empezar inmediatamente a
proporcionar ciertos servicios TCP/IP básicos en la red.
Existen tres formas de proporcionar servicios TCP/IP, que
trataremos en este orden :
• Sistemas operativos cliente y servicios TCP/IP que estos
proporcionan por defecto.
• Extensiones que se pueden hacer en el sistema operativo
cliente con el fin de proporcionar servicios adicionales,
• Soluciones se servidor dedicado
• Es posible que, para sus necesidades, solo requiera los que
suministra a los que se pueda añadir fácilmente a los
sistemas operativos del cliente.
SERVICIOS BÁSICOS AL CLIENTE
• Dado que los sistemas operativos Mac y
Windows 95/98 se consideran ambos
"clientes", proporcionan un número limitado
de servicios por defecto, Si bien existen
programas que pueden dar información de
sistemas operativos. Mac y Windows, éstos
están limitados generalmente en velocidad y
en el número de clientes que pueden manejar.
Por otro lado, Linux se usa frecuentemente
como sistema operativo cliente y servidor.
SERVICIOS PREDETERMINADOS DE MAC OS
• Mac Os, por defecto, incluye un solo cliente
TCP/IP; un navegador Web. Sin embargo, tiene
la capacidad de proporcionar la funcionalidad
de un servidor Web y de un servidor de
archivos básico.
USO DE WEB FILE SHARING EN SISTEMAS
OPERATIVOS MAC
• Web File Sharing es, un método para compartir archivos desde el
Macintosh al exterior de una conexión TCP/IP usando el protocolo
HTTP. Hay dos modos de funcionamiento de Web File Sharing , el
modo de servidor Web y el modo de <buscador> Web. En le
primero Web File Sharing actúa como servidor Web normal. Puede
seleccionar una página HTLM en su computadora y se servirá
cuando la gente se conecte a ella. Una de las características más
atractivas del modo de servidor Web es que puede traducir
instantáneamente archivos de texto sencillo a paginas Web.
• El sistema operativo Mac, por defecto, no incluye ninguna otra
posibilidad de servidor TCP/IP con el sistema instalado. Lo que tiene
integrado es la opción de compartir archivos llamada Apple Talk (o
Ethernet Talk), que permite usar Apple Talk por el TCP/IP. Se trata
de un producto de servidor que no forma parte del sistema
operativo Mac estándar.
SERVICIOS BASICOS PARA WINDOWS 95/98
• Windows se encuentra en el extremo opuesto de Mac Os;
incluye varios clientes TCP/IP pero ninguna posibilidad
predeterminada de dar servicio a plataformas cruzadas.
Dependiendo de la versión del sistema operativo que
tenga, puede ser que haya una función servidora de Web
que se parezca a la de Mac OS. Sin embargo la instalación
predeterminada de Windows 95 no incluye esta
característica. Cuando se instala el protocolo
TCP/IP, Windows también instala varias aplicaciones TCP/IP
que son útiles. Telnet, ping, netstat, traceroute, Internet
Explorer y ARP se instalan todas ellas como parte del
paquete TCP/IP predeterminado para redes en Windows.
Desde un punto de vista del cliente, se trata de un
excelente colección de utilidades que se pueden usar para
diagnosticar problemas de conexión de la red. Dado que
Windows 95 y 98 están diseñados para ser clientes, esta
situación es perfectamente aceptable.
• Windows no proporciona por defecto un servicio
TCP/IP, pero es de valor limitado en una red de
plataforma cruzada; la opción de compartir
archivos SMB de Windows, SMB es un sistema
servidor de archivos propio de la plataforma
Windows. Pero con la ayuda del protocolo de
transporte NetBios puede ejecutarse sobre
TCP/IP. Existen clientes de sistemas operativos
Mac y Linux, pero requieren software adicional
para funcionar. Si está ejecutando una red solo
para Windows, no habrá problema
DIRECCIONES IP
• Longitud de 32 bits.
• Identifica a las redes y a los nodos conectados
a ellas.
Subredes en IP
* Las Subredes son redes físicas distintas que
comparten una misma dirección IP.
* Deben identificarse una de otra usando una máscara
de subred.

* La máscara de subred es de cuatro bytes y para
obtener el número de subred se realiza un operación
AND lógica entre ella y la dirección IP de algún equipo.
* La máscara de subred deberá ser la misma para todos
los equipos de la red IP.
Subredes en Direcciones IP
• Ejemplo
• Supóngase que la dirección IP de un equipo es
148.206.257.2
• La máscara de subred es 255.255.255.0
* El equipo por tanto está en la subred
148.206.257.0
Funcionamiento de una aplicación
Web
• Una aplicación Web es un conjunto de páginas Web
estáticas y dinámicas. Una página Web estática es
aquélla que no cambia cuando un usuario la solicita: el
servidor Web envía la página alnavegador Web
solicitante sin modificarla. Por el contrario, el servidor
modifica las páginas Web dinámicas antes de
enviarlas al navegador solicitante. La naturaleza
cambiante de este tipo de página es la que le da el
nombre de dinámica .Por ejemplo, podría diseñar una
página para que mostrara los resultados del programa
de salud y dejara cierta información fuera (como el
nombre del empleado y sus resultados) para calcularla
cuando la página la solicite un empleado en particular
Procesamiento de páginas Web
estáticas
• Un sitio Web estático consta de un conjunto de páginas
y de archivos HTML relacionadosalojados en unequipo
que ejecutaun servidor Web.Un servidor Web es un
software que suministra páginas Web en respuesta a
laspeticiones de losnavegadores Web. La petición de
una página se genera cuando el usuario hace clic en un
vínculode una página Web, elige un marcador en un
navegador o introduce un URL en el cuadro detexto
Dirección del navegador.El contenido final de una
página Web estática lo determina el diseñador de la
página y no cambiacuando se solicita la página. He aquí
un ejemplo:
<html>
<head><title>Página informativa</title>
</head>
<body><h1>Acerca</h1><p>Ford es un
fabricante líder de automóviles.</p>
</body>
</html>
• El diseñador escribe todas y cada una de las líneas de
código HTML de la página antes decolocarla en el
servidor. El código HTML no cambia una vez colocado
en el servidor y por ello,este tipo de páginas se
denomina página estática.
• Cuando el servidor Web recibe una petición de una
página estática, el servidor lee la solicitud, localiza la
página y la envía al navegador solicitante, como se
muestra en la siguiente figura:
Procesamiento de páginas dinámicas
• Cuando un servidor Web recibe una petición para
mostrar una página Web estática, el servidor la envía
directamente al navegador que la solicita. Cuando el
servidor Web recibe una petición para mostrar una página
dinámica, sin embargo, reacciona de distinta forma:
transfiere la página a un software especial encargado de
finalizar la página. Este software especial se denomina
servidor de aplicaciones. El servidor de aplicaciones lee el
código de la página, finaliza la página en función de las
instrucciones del código y elimina el código de la página. El
resultado es una página estática que el servidor de
aplicaciones devuelve al servidor Web, que a su vez la envía
al navegador solicitante. Lo único que el navegador recibe
cuando llega la página es código HTML puro. A
continuación se incluye una vista de este proceso:
Creación de una aplicación Web
Etiquetas de PHP
• Cuando PHP interpreta un fichero, busca las etiquetas de apertura y
cierre, que son <?php y ?>, y que indican a PHP dónde empezar y
finalizar la interpretación del código. Este mecanismo permite a
PHP ser incrustado en todo tipo de documentos, ya que todo lo que
esté fuera de las etiquetas de PHP será ignorado por el intérprete.
• PHP también permite las etiquetas abreviadas <? y ?> (las cuales
están desaconsejadas debido a que sólo están disponibles si se
habilitan con la directiva short_open_tagdel fichero de
configuración php.ini, o si PHP se configuró con la opción--enableshort-tags .
• Si un fichero contiene código PHP puro, es preferible omitir la
etiqueta de cierre de PHP al final del fichero. Esto impide que se
añadan espacios en blanco o nuevas líneas después de la etiqueta
de cierre de PHP, los cuales pueden causar efectos no deseados
debido a que PHP iniciará la salida del buffer cuando no había
intención por parte del programador de enviar ninguna salida en
ese punto del script.
<?php
echo "Hola mundo";
// ... más código
echo "Última sentencia";
Salir de HTML
• Cualquier cosa fuera del par de etiquetas de apertura y cierre es
ignorado por el intérprete de PHP, el cual permite que los ficheros
de PHP tengan contenido mixto. Esto permite que PHP sea
embebido en documentos HTML para, por ejemplo, crear plantillas.
<p>Esto va a ser ignorado por PHP y mostrado por el navegador.</p
>
<?php echo 'Mientras que esto va a ser interpretado.'; ?>
<p>Esto también será ignorado por PHP y mostrado por el navegad
or.</p>
• Esto funciona como se espera, porque cuando PHP intercepta las
etiquetas de cierre ?>, simplemente comienza a imprimir cualquier
cosa que encuentre (a excepción de un una nueva línea
inmediatamente despuéshasta que dé con otra etiqueta de
apertura a menos que se encuentre en mitad de una sentencia
condicional, en cuyo caso el intérprete determinará el resultado de
la condición antes de tomar una decisión de qué es lo que tiene que
saltar. Vea el siguiente ejemplo.
Usar estructuras con condiciones
Ejemplo #1 Salida avanzada usando condiciones
<?php if ($expresión == true): ?>
Esto se mostrará si la expresión es verdadera.
<?php else: ?>
En caso contrario se mostrará esto.
<?php endif; ?>
• En este ejemplo, PHP saltará los bloques donde la
condición no se cumpla, incluso si están fuera de las
etiquetas de apertura/cierre de PHP, PHP los saltará según
la condición, ya que el intérprete saltará por encima de los
bloques contenidos dentro de una condición que no se
cumpla.
• Para imprimir bloques de texto grandes, es más eficiente
abandonar el modo intérprete de PHP que enviar todo el
texto a través de echo o print.
Existen cuatro tipos de pares de etiquetas de apertura y de
cierre que se pueden usar en PHP. Dos de estas, <?php ?> y
<script language="php"></script>, siempre están
disponibles. Las otras dos son las etiquetas abreviadas y las
etiquetas estilo ASP, que se pueden activar o desactivar
desde el fichero de configuración php.ini Aunque algunas
personas encuentran las etiquetas abreviadas y las
etiquetas estilo ASP más convenientes, son menos
portables y generalmente no se recomiendan.
Nota:
Observe también que si se está incrustando PHP dentro de
XML o XHTML necesitará usar las etiquetas <?php ?> para
seguir los estándares.
Ejemplo #2 Etiquetas de apertura y de cierre de PHP
1. <?php echo 'si se quiere mostrar documentos XHTML o XML, debe ha
cerse así'; ?>
2. <script language="php">
echo 'algunos editores (como FrontPage) no les gusta
las instruciones de proceso';
</script>
3. <? echo 'esta es la forma más simple, una instrución de procesado SG
ML'; ?>
<?= expresión ?> Esto es una forma abreviada de "<? echo expresión
?>“
4. <% echo 'Quizá use de forma opcional etiquetas de estilo ASP'; %>
<%= $variable; # Esto es una forma abreviada de "<% echo . . ." %>
• Las etiquetas vistas en los ejemplos uno y dos
están siempre disponibles; el ejemplo uno es
el más común y recomendado de los dos.
• Las etiquetas abreviadas (ejemplo tres) están
solo disponibles cuando se activan mediante
la directiva short_open_tag del fichero de
configuración php.ini o si PHP se configuró con
la opción --enable-short-tags .
Separación de instrucciones
• Como en C o en Perl, PHP requiere que las instrucciones terminen
en punto y coma al final de cada sentencia. La etiqueta de cierre de
un bloque de código de PHP automáticamente implica un punto y
coma; no es necesario usar un punto y coma para cerrar la última
línea de un bloque de PHP. La etiqueta de cierre del bloque incluirá
la nueva línea final inmediata si está presente.
<?php
echo 'Esto es una prueba';
?>
<?php echo 'Esto es una prueba' ?>
<?php echo 'Hemos omitido la última etiqueta de cierre';
Comentarios
PHP soporta comentarios 'C', 'C++' y etilo
consola Unix (estilo Perl). Por ejemplo:
<?php
echo 'Esto es una prueba'; // Esto es un comentario estilo c++ de una sola línea
/* Esto es un comentario multi-línea
y otra lína de comentarios */
echo 'Esto es otra pruba';
echo 'Una prueba final'; # Esto es un comentario estilo consola de una sola línea
?>
• Los comentarios del estilo "una sola línea" solo
comentan hasta el final de la línea o del bloque actual
de código de PHP, lo primero que suceda. Esto implica
que el código HTML después de // ... ?> o # ... ?> SERÁ
impreso: ?> sale del modo PHP y vuelve al modo
HTML, por lo que // o # no pueden influir en eso. Si la
directiva de configuración asp_tags está activada, actúa
igual que // %> y # %>. Sin embargo, la
etiqueta </script> no sale del modo PHP en un
comentario de una sola línea.
<h1>Esto es un <?php # echo 'simple';?> ejemplo</h1>
<p>El encabezado anterior dirá 'Esto es un ejemplo'.</p>
Los comentarios al estilo 'C' finalizan con el
primer */ que se encuentre. Asegúrese de no
anidar comentarios al estilo 'C'. Es muy fácil
cometer este error cuando se intenta
comentar un bloque grande de código.
<?php
/*
echo 'Esto es una prueba'; /* Este comentario causará un problema*/
*/
?>
Crear aplicación
• Para crear una aplicación en PHP, se puede
utilizar cualquier procesador de texto, ej. Bloc
de notas o utilizar una aplicación más robusta,
ejemplo Dreamweaver 8 o las diferentes
versiones del mismo. En la siguiente imagen
se muestra la caratula de la aplicación
Se elige la opción de PHP y aparece la siguiente pantalla
Dreamweaver tiene la opción de Código, Dividir y Diseño.
Nos posicionamos en la opción de Código, y se visualiza
el siguiente código
Se guarda el archivo con extensión .PHP. Para poder
visualizar la aplicación el Apache tiene una carpeta
predefinida donde se deben guardar las aplicaciones
Se puede crear una carpeta y guardar la página web. Para
poder visualizarla se posiciona en el navegador predefinido
y se escribe locahost o 127.0.0.1 /en nombre de la
aplicación.
Para poder ver el código fuente en cualquier
navegador, se tiene una opción para visualizar el
código fuente de la aplicación. Ejemplo el código
resultante se muestra en la siguiente imagen.
Agregar controles a un formulario
• Para agregar controles a un formulario, se puede realizar de
diferentes formas. Las más comunes es utilizando el bloc de notas
donde se puede realizar páginas o aplicaciones Web a pie, esto
quiere decir escribirlas línea por línea ejemplo.
• La otra forma es por medio del programa
Dreamweaver (cualquier versión) y se muestra en
la siguiente imagen.
• Para agregar más controles solamente se deben tanto
escribir, como arrastrar en el programa Dreamweaver. Una ventaja
al utilizar esta herramienta es, al momento de estar escribiendo los
diferentes controles o complementos se puede visualizar el modo
diseño. Otra ventaja es cuando se empieza a declarar los diferentes
atributos se tiene una función de autoayuda.
• Nota: Para poder interactuar con los controles
o que en su defecto los mismo nos
proporcionen datos, se necesitan la etiqueta
<FORM></FORM>
Organizar controles en un formulario
La forma de organizar los controles de un formulario es
utilizando tablas en html que son fáciles de diseñar.
Ejemplo Prueba_de_formulario.php
Formularios Web
Las páginas php.
Hemos visto como crear una página web, darle formato y añadirle
funcionalidades. Una página web puede hacer muchas más cosas, puede mostrar
los datos que obtiene es ese instante de una Base de Datos que reside en un
servidor de Internet, puede comunicarse con otras webs, puede utilizar mapas,
información del tiempo, etc.
En definitiva, una página web puede mostrar información actualizada cada vez
que se ejecuta. Es lo que se conoce como páginas dinámicas, en contraposición a
las páginas estáticas, que siempre muestran la misma información.
Para crear páginas dinámicas hay que emplear un lenguaje de programación web,
como Java, .NET, o PHP. Si quieres ver las diferencias entre estos lenguajes visita
este tema avanzado.
Los lenguajes scripts son lenguajes que no necesitan ser compilados Una
máquina servidor es capaz de interpretar el código fuente y ejecutarlo, lo que hace
de los lenguajes script la mejor solución para programación en entornos web.
Existen muchos lenguajes script (PHP, ASP, .NET, JSP, Perl, Phyton...) que nos
permiten crear webs dinámicas, desde páginas simples hasta potentes
aplicaciones web. Todos los lenguajes tienen sus pros y sus contras, por lo que no
hay ninguno que sea claramente mejor que el resto.
Vamos comentar los tres más empleados: ASP, JSP y PHP.

• ASP
Active Server Pages (ASP) es un lenguaje script
propiedad de Microsoft.Su estructura se asemeja
al lenguaje de programación Visual Basic. Es útil
para crear aplicaciones web sencillas,
normalmente con bases de datos de Access.
El principal inconveniente que presenta es que sólo
funciona en servidores Windows, y no en otros
sistemas operativos como Linux. Nos referimos
sólo al servidor que aloja la página, no al sistema
operativo de quien la visita.
JSP
Java Server Pages (JSP) es un lenguaje que permite utilizar código Java en
scripts.La tecnología fue creada por Sun Microsystems, y más tarde
liberada para su uso general.
Es un lenguaje potente, que dispone de una gran comunidad por estar
basado en Java. Es muy utilizado por empresas o corporaciones para sus
sitios web y aplicaciones.
La mayoría de los servidores se pueden adaptar para utilizar Java, por lo
que la aplicación puede ser exportada a muchas plataformas.
Normalmente, se utilizan bases de datos MySQL.
PHP
PHP Hypertext Pre-processor (PHP) es el lenguaje script más utilizado en la
web, ya que es sencillo de aprender y está diseñado expresamente para su
uso en web. Esto hace que tenga una gran comunidad de usuarios, lo que
facilita encontrar ejemplos e información utilizando cualquier buscador.
Puede ser ejecutado en la mayoría de sistemas operativos, y utiliza
cualquier gestor de bases de datos, aunque el más usado es MySQL.Es
ideal para webs sencillas y de bajo costo, pero también se pueden crear
aplicaciones complejas, sobre todo si se le añaden librerías, la mayoría
gratuitas.
Es además la opción más económica.
¿Qué es un formulario web?
•

•

•

Un formulario web dentro de una página web permite al usuario introducir datos
los cuales son enviados a un servidor para ser procesados. Los formularios web se
parecen a los formularios de papel porque los internautas llenan dichos
formularios usando casillas de selección, botones de opción, o campos de texto.
Por ejemplo, los formularios web pueden ser usados para introducir datos de
envío o datos de una tarjeta de crédito con el objetivo de solicitar un producto o
bien ser utilizada para solicitar datos (p. ej., al buscar en un motor de búsqueda).
Además de servir como plantillas para nueva información, los formularios web
también pueden ser usados para consultar y mostrar información existente en
forma similar a los formularios decombinación de correspondencia, incorporando
las mismas ventajas. La separación entre la estructura y los datos subyacentes de
un mensaje permite a ambos variar independientemente. El uso de formularios
webs para este propósito evita los problemas asociados con la creación explícita
de páginas web separadas para cada registro en una base de datos.
Los formularios web están definidos en lenguajes de programación
como HTML, Perl, Java o .NET. Las implementaciones de estos lenguajes
usualmente invocan automáticamente los idiomas de la interfaz de usuario y otras
de sus características, tales como el diseño estructural, y tema, minimizando el
tiempo, el costo y el tiempo de programación
• Los formularios web están definidos en lenguajes de
programación como HTML, Perl, Java o .NET. Las
implementaciones de estos lenguajes usualmente
invocan automáticamente los idiomas de la interfaz de
usuario y otras de sus características, tales como el
diseño estructural, y tema, minimizando el tiempo, el
costo y el tiempo de programación.
• Los formularios pueden ser combinados con
varios scripts para permitir a los programadores crear
sitios web dinámicos. Esto incluye tanto lenguajes del
lado del servidor como lenguajes del lado del cliente.
Lado del cliente
• El estándar de facto en lo que a scripts para webs del lado
del cliente respecta es JavaScript. Utilizar JavaScript en
el DOM es el método más utilizado para generar HTML
dinámico que permite creación y modificación dinámica de
una página web dentro del navegador.

• Aunque los lenguajes del lado del cliente que son usados
en conjunto con los formularios son limitados, estos
comúnmente pueden servir para hacer una prevalidación
de los datos del formulario y/o preparar dichos datos para
enviarlos al programa del lado del servidor.
Lado del servidor
• Los programas del lado del servidor pueden hacer un vasto
ordenamiento de tareas para crear sitios web dinámicos — desde
la autenticación de un usuario través de, por ejemplo, LDAP para
enviar y guardar información en una base de datos, hasta verificar
la ortografía de un documento al enviar un correo electrónico — a
diferencia de lo que podría hacer un programa del lado del cliente.
• La mayoría de las peticiones de los programas del lado del servidor
deben pasar por la interfaz de entrada común (CGI) del servidor
web para ejecutar el programa que realiza las tareas.
• La ventaja del lado del servidor sobre el lado del cliente es la
concentración de la funcionalidad en un solo computador (el
servidor), en vez de depender de la implementación en cada
navegador de todas las funciones involucradas.
• Este mismo problema es tremendamente evidente para cualquier
programador que escribe código JavaScript para múltiples
navegadores.
Algunos de los lenguajes de scripts comúnmente
usados:
•
•
•
•
•
•

PHP
Perl
Active Server Pages (ASP)
ASP.NET
ColdFusion
JavaServerPages (JSP)
Crear un formulario web.
El objeto form

El objeto form debe estar contenido entre las
etiquetas <form> y </form>En principio la sintaxis básica para
referirnos a un formulario sería:
<form name="nombre_formulario" action="" method="POST"
target="_blank">
.......campos....
</form>
De todas formas, iremos viendo la aplicación de este tipo de sintaxis
con los próximos ejemplos y a medida que avancemos.
propiedad

descripción

name

es el nombre único del formulario.

action

es el lugar al cual se envía el formulario para ser procesado. El action define la URL a la
cual se envía dicho formulario.

method

método de envío de los datos insertados en un formulario. El method puede ser:
GET = envía los datos en una cadena "visible". Conveniente para enviar pocos datos.
POST = envía los datos en forma "invisible". Conveniente para enviar una gran cantidad
de datos.
define la ventana o marco (frame) en la que se mostrarán o procesarán los resultados

target

del formulario.
El valor es el mismo que el utilizado en HTML (blank, self, top, nombre_marco, etc..)
Sintaxis básica
<form name="nombre_formulario" action="procesar.php" method="POST"
target="_blank">
.......campos....
</form>
Métodos del objeto form
El objeto form posee dos métodos:
método

descripción

submit

envía el formulario.

reset

restablece el formulario a los valores por defecto.

Sintaxisbásica
<form name="nombre_formulario" action="procesar.php" method="POST"
target="_blank">
.......campos....
<input type="submit" value="enviarformulario">
<input type="reset" value="borrar">
</form>
Uso de Formularios
• Otra de las características más importantes de PHP es
que gestiona formularios HTML. El conceptobásicoque
es importante entender es que cualquier elemento de
los formularios estará disponible automáticamente en
su código PHP. Ejemplos sobre cómo usar formularios
HTML con PHP. Observemos un ejemplo:
Ejemplo Un formulario HTML simple
<formaction="accion.php" method="post">
<p>Su nombre: <input type="text" name="nombre" /></p>
<p>Su edad: <input type="text" name="edad" /></p>
<p><input type="submit" /></p></form>
No hay nada especial en este formulario, es solamente HTML
sin ninguna clase de etiquetas especiales de ningún tipo.
Cuando el usuario rellena éste formulario y oprime el botón
Submit, una página titulada accion.phpes llamada. En
estearchivoencontraráalgoasí:

Ejemplo Imprimir información desde nuestro formulario
Hola<?phpecho “$_POST['nombre'])”;?>.
Usted tiene <?phpecho “$_POST['edad']”;?>años de edad.
Un ejemplo del resultado de esta secuencia de comandos
puede ser:
Hola José. Usted tiene 22 años de edad.
Controles básicos
Etiqueta <INPUT>
<input>
La etiqueta<input>es la que controla la mayoría de los
posibles controles de un formulario en Html. El tipo de
control lo indicaremos mediante el atributo type.
Esta etiqueta no lleva etiqueta de cierre. Veamos cómo se
usa y sus atributos:
El resto de atributos dependen del tipo de
control por lo que los estudiaremos por
separado para los distintos tipos:
Menús desplegables
<select>,<option>y<optgroup>
Otro tipo de controles son los menúes desplegables. Estos
permiten seleccionar una o varias opciones de una lista.
Un menú desplegable se crea con la etiqueta<select>y dentro
de ella crearemos cada elemento de la lista con<option>. La
tercera etiqueta,<optgroup>, sirve para agrupar los
elementos de la lista cuando es necesario.
Veamos cómo se utilizan estas etiquetas:
Desarrollo de aplicaciones web
Aplicación de controles
HTML
WEB
De Validación
Del Usuario

2.2 Gestión del estado
Procesamiento de cadenas
El lenguaje PHP ofrece una serie de
herramientas para el procesamiento de
cadenas, que es muy utilizado en mostrar
datos con un cierto formato o en almacenar
en una base de datos información de una
manera determinada. A continuación se
detallan algunas funciones para el manejo de
cadenas:
Funciones echo y print()
Estas dos instrucciones se utilizan para mostrar una o varias cadenas
en la pantalla. Generalmente se ha venido utilizando la instrucción
echo en los ejemplos realizados, pero también es posible utilizar la
función print(), con la diferencia de que en esta función, la cadena a
imprimir debe estar entre paréntesis, cosa que con la instrucción
echo, no es necesario.
Ejemplo:
echo $Nombre;
print ($Domicilio);
Funcion: printf()

Esta función es similar a la función print(), pero permite dar un cierto
formato a lo que se desea imprimir. La Sintaxis de esta función es:
printf("Formato", $cadena);
Formato debe ser una letra permitida.
$cadena es la variable a imprimir.
• Los tipos de formatos permitidos, son los
siguientes:
Letra de Formato

Especificación de lo que realiza

B

Expresa a la variable como número binario

C

Expresa a la variable como carácter ASCII

d

Expresa a la variable como número decimal

f

Expresa a la variable como número de punto flotante

o

Expresa a la variable como número octal

s

Expresa a la variable como un string (cadena)

x

Expresa a la variable como número hexadecimal en
minúsculas

X

Expresa a la variable como número hexadecimal en
Mayúsculas
Para establecer que la letra es un formato de impresión, se
debe colocar delante de ella el signo de porcentaje (%).
Ejemplo 1:
Este ejemplo almacena el valor del sueldo en la variable
$Sueldo, y luego lo muestra de diferente forma:
<Html>
<Title> Ejemplo1-Printf.php </Title>
<Body>
<?Php
$Sueldo = 2947.3262;
printf($Sueldo . "<Br>");
printf("%f", $Sueldo); printf("<Br>");
printf("$ %7.2f",$Sueldo); printf("<Br>");
?>
</Body>
</Html>
•
•
•

Ejemplo 2:
Asignar a una variable, una determinada cadena y posteriormente mostrarla en todos los formatos descriptos.
<Html>
<Title> Ejemplo2-Formatos.php </Title>
<Body>
<?Php
$cadena = "76.9 minutos";
printf("Resultado en formato binario: ");
printf("%b", $cadena);
printf("<Br>");
printf("Resultado según la tabla ASCII: ");
printf("%c", $cadena);
printf("<Br>");
printf("Resultado en formato decimal: ");
printf("%d", $cadena);
printf("<Br>");
printf("Resultado en formato float: ");
printf("%f", $cadena);
printf("<Br>");
printf("Resultado en formato octal: ");
printf("%o", $cadena);
printf("<Br>");
printf("Resultado en formato string: ");
printf("%s", $cadena);
printf("<Br>");
printf("Resultado en formato hexadecimal (minúscula): ");
printf("%x", $cadena);
printf("<Br>");
printf("Resultado en formato hexadecimal (mayúscula): ");
printf("%X", $cadena);
?>
</Body>
</Html>
Funcion: sprintf()
Es similar a la función printf, con la diferencia de
que no imprime el resultado en el
navegador, sino que se utiliza para almacenar una
cadena en una variable.
La sintaxis es la siguiente:
variable = sprintf ("Formato", cadena);
En este caso, sprintf, devuelve en la variable el
valor de la cadena transformado de acuerdo
al Formatoindicado. El Formato puede ser
cualquier letra de las descriptas para la función
printf.
Ejemplo 3
IDEM al ejemplo 2 utilizando sprintf.
<Html>
<Title> Ejemplo3-Sprintf.php </Title>
<Body>
<?Php
$cadena = "76.9 minutos";
// Transformacion a binario
$variable = sprintf("%b<Br>",$cadena);
// Transformación a caracteres
$variable .= sprintf("%c<Br>", $cadena);
// Transformación a decimal
$variable .= sprintf("%d<Br>", $cadena);
// Transformación a float
$variable .= sprintf("%f<Br>", $cadena);
// Transformación a octal: ");
$variable .= sprintf("%o<Br>", $cadena);
// Transformación a string
$variable .= sprintf("%s<Br>", $cadena);
// Transformación a hexadecimal (minúscula)
$variable .= sprintf("%x<Br>", $cadena);
// Transformación a hexadecimal (mayúscula)
$variable .= sprintf("%X<Br>", $cadena);
echo $variable;
?>
</Body>
</Html>
Funcion: strtoupper()
Esta función permite transformar una cadena a mayúsculas.
Ejemplo 4:
Almacenar una frase en una variable y posteriormente mostrarla en
mayúsculas.
<Html>
<Title> Ejemplo4-StrToUpper.php </Title>
<Body>
<?Php
$frase = "Hoy es un día soleado.";
echo "<H3>";
echo "Frase ingresada: " . $frase;
echo "<Br><Br>";
echo "Frase en Mayúsculas: " .strtoupper($frase);
?>
</Body>
</Html>
Funcion: strtolower()
Es la inversa de la función anterior, es decir que transforma una cadena en minúsculas.
Ejemplo 5:
Almacenar una frase en una variable y posteriormente mostrarla en minúsculas.
<Html>
<Title> Ejejemplo5-StroLower.php </Title>
<Body>
<?Php
$frase = "ESTE APUNTE ES DE PHP";
echo "<H3>";
echo "Frase ingresada: " . $frase;
echo "<Br><Br>";
echo "Frase en Minúsculas: " .strtolower($frase);
?>
</Body>
</Html>
Funcion: ucwords()
Convierte el primer carácter de cada palabra en mayúsculas.
Ejemplo 6:
Inicializar una variable con el nombre y apellido de una persona y posteriormente
mostrarla con sus primeros caracteres en mayúsculas.
<Html>
<Title> Ejemplo6-UcWords.php </Title>
<Body>
<?Php
$nombre = "marcelorodriguez";
echo "<H3>";
echo "Cadena original: " . $nombre;
echo "<Br><Br>";
echo "Cadena convertida: " .ucwords($nombre);
?>
</Body>
</Htm>
Funcion: trim()
Mediante esta función, se eliminan los espacios en blanco al inicio y al final de una
cadena.. También elimina los caracteres de control: “n”, “r”, “t” y “0”.
Ejemplo 7:
<Html>
<Title> Ejemplo7-Trim.php </Title>
<Body>
<?Php
$profesion = "nrtTécnico Constructor nn";
echo "<H3>";
echo "Cadena original: " . $profesion;
echo "<Br><Br>";
echo "Cadena convertida: " .trim($profesion);
?>
</Body>
</Html>
Al ejecutar este ejemplo, no se observarán diferencias al visualizarlo en el navegador,
pero si se observarán diferencias si se visualiza el código generado por el
programa.
Funciones: ltrim() y chop()
Funcionan de forma similar a trim(), con la
diferencia de que ltrim(), elimina espacios en
blanco al principio de la cadena, mientras
que chop(), elimina espacios en blanco al final
de la cadena.
Funcion: strlen()
Esta función permite obtener la longitud de una cadena de caracteres pasada como
parámetro.
Ejemplo 8:
Almacenar en una variable una cadena de caracteres y luego mostrar la cantidad de
caracteres que la constituyen.
<Html>
<Title> Ejemplo8-Strlen.php </Title>
<Body>
<?Php
$cadena = "PHP es un lenguaje de programación.";
echo "<H3>";
echo "Cadena : " . $cadena;
echo "<Br><Br>";
echo "Cantidad de caracteres: " .strlen($cadena);
?>
</Body>
</Html>
Funcion: chr()
•
•
•

La función chr() recibe un valor numérico y devuelve el carácter de la tabla ASCII que le corresponde
Ejemplo 9:
Imprimir la tabla ASCII desde el código 30 en adelante.

•

<Html>
<Title> Ejemplo9-Chr.php </Title>
<Body>
<?Php
echo "<H3>";
echo "<Table border=2 align=Center width=100%>";
$c=30;
for ($i=1; $i<24; $i++)
{
echo "<tr>";
for ($j=1; $j<=10; $j++)
{
echo "<th align=Center>" . $c . "</th>";
echo "<td align=Center>". chr($c) . "</td>";
$c++;
}
echo "</tr>";
}
echo "</Table>" ;
?>
</Body>
</Html>
Funcion: ord()
Es la función inversa a la chr(), es decir que dado un carácter como
parámetro, la función ord(), devuelve el valor del código que le
corresponde.
Ejemplo 10:
Asignar a una variable un carácter y posteriormente mostrar el código que le
corresponde:
<Html>
<Title> Ejemplo10-Ord.php </Title>
<Body>
<?Php
echo "<H3>";
$c = "L";
echo "El caracter: $c tiene como código: " .ord($c);
?>
</Body>
</Html>
Funcion: number_format()
La función number_format permite dar un formato deseado a un valor numérico determinado. La
sintaxis es la siguiente:
number_format(variable Numerica,
Cantidad De Decimales,
“Separador de decimales”,
“Separador de Miles”) ;
Ejemplo 11:
Dado un cierto valor numérico, imprimirlo con dos decimales separados por una coma, mostrando
también los miles separados por puntos.
<Html>
<Title> Ejercicio11-NumberFormat.php </Title>
<Body>
<?Php
echo "<H3>";
$valor = 8546921546.4875;
echo "El valor corresponde a: ";
echo number_format($valor,2,",",".");
?>
</Body>
</Html>
Funcion: substr()
•
•
•
•
•

Permite extraer una porción de texto de la cadena pasada como parámetro. Su sintaxis es la siguiente:
substr(cadenaOriginal, lugarInicial, cantidadDeCaracteres)
cadenaOriginal: Es la cadena de donde se extraerá el texto.
lugarInicial: Representa la posición desde donde se comenzarán a extraer el texto.
CantidadDeCaracteres: Indica cuantos caracteres se extraerán. (Opcional).
Ejemplo 12:
<Html>
<Title> Ejemplo12-Subsrt.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "Alicia Martinez";
echo "Cadena Original: " . $cadena;
echo "<Br>";
echo "Tres primeros caracteres: ";
echo substr($cadena,0,3);
echo "<Br>";
echo "Seis caracteres a partir del octavo: ";
echo substr($cadena,7,6);
echo "<Br>";
echo "Cuatros caracteres comenzando desde el último: ";
echo substr($cadena,-4);
?>
</Body>
</Html>
Funcion: ereg()
Permite buscar una cadena dentro de otra cadena, devolviendo un valor verdadero si encontró coincidencia, de lo
contrario, devuelve falso.
Ejemplo 13:
<Html>
<Title> Ejemplo13-Erg.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "Carlos Javier Robles";
echo "Cadena Original: " . $cadena;
echo "<Br>";
$clave = "Javier";
echo "<Br>";
if (ereg($clave, $cadena))
{
echo "La palabra $clave existe en $cadena";
}
else
{
echo "La palabra $clave No existe es $cadena";
}
?>
</Body>
</Html>
Funcion: eregi()
Es similar a la función anterior, con la diferencia de que eregi() ignora las mayúsculas y minúsculas.
Funcion: ereg_replace()
Esta función ereg_replace permite buscar una cadena dentro de otra y reemplazar la cadena encontrada con una cadena definida.
La sintaxis es la siguiente:
nuevaCadena = ereg_replace(claveBuscada,
nuevoDato,
cadenaOriginal);
Ejemplo 14:
En el ejemplo anterior, buscar y reemplazar el nombre Javier por Martín.
<Html>
<Title> Ejemplo14-EregReplace.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "Carlos Javier Robles";
echo "Cadena Original: " . $cadena;
echo "<Br>";
$clave = "Javier";
$nuevoNombre = "Martín";
$nuevaCadena = ereg_replace($clave, $nuevoNombre, $cadena);
echo "<Br>";
echo "Nuevo Nombre: " . $nuevaCadena ;
?>
</Body>
</Html>
Funcion: eregi_replace()
Es similar a la función anterior, con la diferencia de que eregi_replace() no tiene en cuenta las mayúsculas y minúsculas.
Funcion: split()
Permite separar una cadena de caracteres, pasándole como parámetro el carácter que actuará como separador. La cadena separada es almacenada en un arreglo. La sintaxis es la siguiente:
vector = split(caracter, cadena, cantidadDeElementos)
carácter: Es el carácter que actuará como separador.
cadena: Es la cadena original.
cantidadDeElementos: Es opcional, y determina cuantos elemento contendrá el vector generado. En caso de no indicarse, ajusta la cantidad automáticamente.
Ejemplo 15:
Dada una cadena de caracteres, generar un arreglo (vector) que contenga como elementos a cada una de las palabras de la cadena.
<Html>
<Title> Ejemplo15-Split.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "El invierno es muy frío";
echo "Cadena Original: " . $cadena;
echo "<Br><Br>";
$separador = " ";
$v = split($separador, $cadena);
$cantidad = count($v);
for ($i=0; $i<$cantidad; $i++)
{
echo "Elemento [$i]: $v[$i] <Br>";
}
?>
</Body>
</Html>
Ejemplo 16:
Idem al anterior, pero guardando únicamente tres elementos en el vector.
<Html>
<Title> Ejemplo16-Split.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "El invierno es muy frío";
echo "Cadena Original: " . $cadena;
echo "<Br><Br>";
$separador = " ";
$v = split($separador, $cadena, 3);
$cantidad = count($v);
for ($i=0; $i<$cantidad; $i++)
{
echo "Elemento [$i]: $v[$i] <Br>";
}
?>
</Body>
</Html>
Funcion: ucfirst()
Permite pasar a mayúscula el primer carácter de una cadena. La
función ucfirst() es útil cuando se desea imprimir nombres propios.
Ejemplo 17:
<Title> Ejemplo17-Ucfirst.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "alejandra";
echo "Cadena Original: " . $cadena;
echo "<Br><Br>";
echo "Cadena procesada: " .ucfirst($cadena);
echo "<Br><Br>";
?>
</Body>
</Html>
Funcion: ucwords()
Permite cambiar a mayúsculas el primer carácter de todas las palabras de una
cadena.
Ejemplo 18:
<Title> Ejemplo18-Ucwords.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "javier es buen alumno";
echo "Cadena Original: " . $cadena;
echo "<Br><Br>";
echo "Cadena procesada: " .ucwords($cadena);
echo "<Br><Br>";
?>
</Body>
</Html>
Funcion: strcmp()
Compara dos string (cadenas).
Ejemplo: strcmp(<string1>,<string2>)
Retorna cero si las dos cadenas son exactamente iguales.
Retorna mayor a cero si <string1> es mayor alfabéticamente.
Retorna menor a cero en caso contrario
$cadena1="lorena";
$cadena2="analia";
if (strcmp($cadena1,$cadena2)>0)
{
echo $cadena1." es mayor alfabéticamente que ".$cadena2;
}
De todos modos para comparar si dos string son iguales está permitido utilizar el operador ==
if ($cadena1=="lorena")
{
echo 'La variable $cadena1 almacena la cadena lorena';
}
Se imprime: La variable $cadena1 almacena la cadena lorena (Recordar que si utilizamos las comillas simples, las
variables no se sustituyen por el contenido de las mismas)
La función strcmp es sensible a mayúsculas y minúsculas, si queremos ver si dos cadenas son iguales insensible a
mayúsculas y minúsculas debemos emplear la función strcasecmp.
Funcion: strpos()
•
•
•
•
•
•

•

Esta función devuelve la posición que se encuentra en una cadena fuente una cadena clave. La sintaxis es la siguiente:
$Pos = strpos(cadenaFuente, cadenaClave, comienzo);
cadenaFuente: Es la cadena que será recorrida.
cadenaClave: Es la cadena buscada.
comienzo: Es opcional, y determina de que posición comenzará a explorar. Si se ignora, comienza desde el principio, posición cero.
Ejemplo 19:
Almacenar en una cadena, una frase y luego una palabra clave a buscar su posición. Imprimir la posición que le corresponde.
<Html>
<Title> Ejemplo19-Strpos.php </Title>
<Body>
<?Php
echo "<H3>";
$cadena = "En un ecosistema conviven diversos tipos de organismos";
$clave = "eco";
echo "Cadena Original: " . $cadena;
echo "<Br><Br>";
echo "Clave buscada: " . $clave;
echo "<Br><Br>";
$p = strpos($cadena, $clave);
if ($p!="")
{
echo "La clave se encuentra en la posición: $p" ;
}
else
{
echo "No existe la clave en la cadena fuente";
}
?>
</Body>
</Html>
VARIABLES EN PHP
• Las variables en PHP son representadas con un signo de dólar ($) seguido
por el nombre de la variable. El nombre de la variable es sensible a
minúsculas y mayúsculas. Es decir, las siguientes declaraciones de
variables son distintas entre ellas:
• $variable, $Variable, $variAble, $VariAble, etc. representan a distintas
variables.
• Recordar que una variable es un espacio de la memoria del ordenador (en
este caso del servidor) a la que asignamos un contenido que a grandes
rasgos puede ser un valor numérico (sólo números, con su valor de
cálculo) o alfanumérico (sólo texto o texto con números).
•
• Para declarar un nombre de variable válido, éste tiene que empezar con
una letra (o si no empieza con una letra, tendrá que hacerlo con un
carácter de subrayado), seguido de cualquier número de letras, números y
caracteres de subrayado. Veamos algunos ejemplos:
Posible nombre de variable

Validez

$4variable

Nombre de variable inválido.

$_4variable

Nombre de variable válido.

$variable4

Nombre de variable válido.

$otra

Nombre de variable válido.

$1_otra

Nombre de variable inválido.

$variable_de_nombre_muy_largo

Nombre de variable válido.

$ABC

Nombre de variable válido.

$AB C

Nombre de variable inválido.

$A_y_B_x_C

Nombre de variable válido.
Cuando el intérprete PHP detecta un error en la sintaxis al declarar una
variable, cuando tratamos de accecer a la página php nos aparecerá
un mensaje de error. Por ejemplo si en un archivo php incluimos
una línea como $ A B C = 5; donde el nombre de variable es inválido
ya que tiene espacios intermedios, nos aparecerá un mensaje de
error:
Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE
or '$' in
/home/miraiz/domains/midominio.com/public_html/prueba.php
on line 3. Este mensaje nos informa de que hay un problema en el
archivo php y nos indica la línea donde el intérprete considera que
está el problema.
DIFERENCIAS ENTRE LOS OPERADORES DE
ASIGNACIÓN E IGUALDAD

•
• Asignación (=)
•
• El operador de asignación es "=". Se podría pensar que
es como un "igual a". No lo es. El operador igual en
programación no tiene el mismo sentido que en
matemáticas. En programación, significa que el valor
de la expresión de la derecha se establece en el
operando de la izquierda.
•
• Veamos un ejemplo donde todo quedará mucho más
claro.
<?php
$a = 3; // asignamos el valor 3 a la variable $a
$b = "cadena"; // asignamos el valor "cadena" a la variable $b
?>
Igualdad (==)
El comparador de igualdad es ==. Como su
propio nombre indica, sirve para comparar
dos valores o variables y no para asignar
valores. Este operador devuelve el resultado
de la operación lógica de 'igual a tal y como
podemos apreciar en el siguiente ejemplo.
<?php
$a = 3;
$b = 3;
$a == $b; // El resultado de la comparación es TRUE porque $a es igual a $b
$a = 3;
$b = 4;
$a == $b; // El resultado de la comparación es FALSE porque $a no es igual a $b
?>
TIPOS DE DATOS
En PHP no es necesario indicar el tipo de datos
al que pertenece una variable, sino que son
asumidos directamente por el intérprete
PHP, que es el encargado de interpretar el
código.
Ahora veremos en una tabla los distintos tipos
de datos que se pueden usar en PHP.
TIPO DE DATO

DEFINICIÓN
Los integers, o enteros, pueden tener distintos valores
numéricos enteros que se expresan con diferentes notaciones.
$variable = 18; // Número entero positivo

integer
$variable = -18; // Número entero negativo
$variable = 0x12; // Notación hexadecimal, es igual a 18
decimales

float o double

Este tipo de datos son los números de punto flotante a los que
normalmente llamamos “números decimales”, por ejemplo,
9.876. La sintaxis para utilizarlos es bastante simple:
$variable = 9.876;

string

El tipo de datos string, también conocido como cadena de
caracteres, se expresa con la siguiente sintaxis:
$variable = "Yo soy una cadena";
Se trata de un tipo lógico. Sus posibles valores son TRUE o
FALSE.

boolean

$variable = true;
$variable = false;
INSTRUCCIÓN ECHO
Esta instrucción PHP hace que se muestre por
pantalla un texto, una variable, o una
combinación de texto y variables. Crea un
archivo php con el siguiente código, ponle un
nombre como usoDeEcho.php y súbelo al
servidor.
<?php
echo "salida por pantalla. ";
$a = 5;
echo $a;
echo " El valor de a es $a.";
?>
•

Se define a un arreglo como un grupo de elementos relacionados entre sí por medio de índices. Los arreglos pueden ser de una o más dimensiones,
los de una dimensión, son llamados comúnmente"vectores".

•

•
•
•

•

•
•

•
•
•

A diferencia con el lenguaje C, en PHP, un vector puede tener elementos de distintos tipos.
Para hacer referencia a un elemento del vector, se utiliza un índice, que indica la dirección en donde se encuentra un determinado valor. El índice en
un arreglo comienza siempre por cero. (Mas adelante se verá que el índice de un vector, no necesariamente debe ser un número entero, sino que
también puede ser un texto).
EjemploPráctico1:
Almacenar los nombres de los días de la semana en un vector y luego imprimirlos uno debajo de otro.
<Html>
<Title> Ejmeplo1 </Title>
<Body>
<?PHP
// Inicializacion del Vector
$dia[0] = "Domingo";
$dia[1] = "Lunes";
$dia[2] = "Martes";
$dia[3] = "Miércoles";
$dia[4] = "Jueves";
$dia[5] = "Viernes";
$dia[6] = "Sábado";
// Impresion del vector
for($i=0; $i<7; $i++)
{
echo ($dia[$i] . "<Br>") ;
}
?>
</Body>
</Html>
Comentario:
Se inicializa el vector indicando el número que le corresponde a cada posición entre corchetes [ ] y asignando el valor que se desea almacenar en
dicha posición.
Un vector, en PHP, puede contener elementos de distintos tipos de datos, es decir, un elemento puede ser un número entero, otro una cadena, otro
un número con decimales, etc.Un modelo de este caso se puede observar en el siguiente ejemplo.
Ejemplo Práctico 2:
Almacenar en un vector los datos personales de un empleado y luego mostrarlos en pantalla.
<Html>
<Title> Ejemplo 2 </Title>
<Body>
<?PHP
// Inicializacion del Vector
$Empleado[0] = 4371;
$Empleado[1] = "Martinez Leandro";
$Empleado[2] = "27.643.742";
$Empleado[3] = 1429.54;
$Empleado[4] = "Arquitecto";
// Impresion del vector
echo ("Legajo: " . $Empleado[0] . "<Br>");
echo ("Nombre: " . $Empleado[1] . "<Br>");
echo ("DNI : " . $Empleado[2] . "<Br>");
echo ("Sueldo: " . $Empleado[3] . "<Br>");
echo ("Profesion: " . $Empleado[4] . "<Br>");
?>
</Body>
</Html>
Existen varias maneras de inicializar vectores en PHP. A continuación se describen algunos ejemplos.
Pais[] = "Argentina";
Pais[] = "Uruguay";
Pais[] = "Brasil";
Pais[] = "Chile";
En este caso se observa que no es necesario colocar el número de índice, ya que PHP lo asigna automáticamente para cada valor, comenzando siempre desde cero. Otra forma de inicializar un
vector, es a través del constructor array, como se muestra en el siguiente ejemplo:
Pais =array("Argentina","Uruguay","Brasil","Chile");
También se puede definir un arreglo asociando explícitamente el índice a un valor, como se indica a continuación:
$Frutas = array(0 => "Manzana",
1 => "Naranja",
2 => "Pera",
3 => "Ananá");
Además, los índices, pueden no ser obligatoriamente consecutivos, ni tampoco comenzar de cero, ni tampoco ser un número. (Ver ejemplos más adelante).Se puede conocer la cantidad de
elementos que tiene un vector, para ello se utiliza la funcióncount(vector). Esta función acepta como parámetro el nombre del vector y devuelve la cantidad de elementos del mismo.
Ejemplo Práctico 3:
Cargar en un vector artículos de librería y luego imprimir la cantidad de ellos.
<Html>
<Title> Ejemplo 3 </Title>
<Body>
<?PHP
// Inicializacion del Vector
$Articulos =array("Lápis","Goma","Hoja","Tinta");
// Impresion del vector
$Cantidad = count($Articulos);
echo ("La cantidad de Artículos son: " . $Cantidad);
?>
</Body>
</Html>
Un vector en PHP puede tener elementos en cualquier posición, por lo tanto, se puede cargar un vector
con posiciones no consecutivas, sino en forma totalmente aleatoria. Para poder recorrer este tipo
de vectores se utilizan las funciones next() y prev().
Ejemplo Práctico 4:
Cargar los nombres de personas en cualquier posición.
<Html>
<Title> Ejemplo 4 </Title>
<Body>
<?PHP
// Inicializacion del Vector
$Nombre[10] = "Marcelo";
$Nombre[20] = "Alicia";
$Nombre[15] = "Alejandra";
$Nombre[35] = "Mario";
$Nombre[12] = "Alberto";
// Impresion del vector
reset($Nombre);
echo ("<H2>" . "Vector de Nombres");
echo ("<H3>" . "<Hr>");
do
{
// Buscar Posicion especificada
$i = key($Nombre);
// Buscar Contenido en esa posicion
$Valor = current($Nombre);
echo ("Posición: " . $i . " - ");
echo ("Contenido: " . $Valor);
echo ("<Br>");
}
while (next($Nombre));
?>
</Body>
</Html>
Comentario:
Aquí se observa que los nombres fueron cargados en posiciones aleatorias. Con la funciónreset(), se logra llevar el puntero al principio del vector y para poder encontrar la posición de un
elemento se utiliza la función key(), la cual acepta como parámetro el vector y devuelve la posición. Luego para poder obtener el contenido en esa posición se utiliza la
función current(), que acepta el vector y devuelve el valor almacenado. La función next() avanza el puntero a la posición siguiente, si se ha llegado al final del vector, esta función
devuelve false.
En caso de querer imprimir los datos del vector en forma invertida, solamente se debe cambiar la instrucción reset($Nombre) por: end($Nombre) y la instucción: while (next($Nombre)) por
: while (prev($Nombre)).
Como se dijo anteriormente, las funciones next() y prev() devuelven false al llegar al final y principio del vector respectivamente, pero tambien devuelven false cuando el valor de un elemento es
cero.
La función end() lleva el puntero al final del vector y con la función prev(), se retrocede el puntero hasta el anterior. Cuando se llegó al principio del vector, la función prev() devuelve false y sale
del ciclo.
Otra forma de recorrer un vector de estas característica es utilizando las funciones list() y each(), de la siguiente manera:
Ejemplo Práctico 5:
•
•

•

•
•
•

•
•
•

Cargar Legajos de personas con sus respectivos Nombres
<Html>
<Title> Ejemplo5.php </Title>
<Body>
<?Php
// Inicializacion del Vector
$Nombre[100] = "Javier";
$Nombre[200] = "Cintia";
$Nombre[150] = "Ricardo";
$Nombre[350] = "Raúl";
$Nombre[120] = "Guillermo";
// Impresion del vector
reset($Nombre);
echo "<H2>"."Vector de Nombres";
echo "<H3>"."<Hr>";
while (list($i,$Valor)=each($Nombre))
{
echo "Legajo: " . $i ." - ";
echo "Nombre: " . $Valor;
echo "<Br>";
}
?>
</Body>
</Html>
La función list(), almacena en los parámetros ($i, $Valor), el índice y el valor devuelto por la función each(), que tiene como parámetro el vector
puesto en juego. Además, la función list(), avanza automáticamente el puntero al siguiente elemento del vector, y en caso de que el vector haya
llegado al final, la función devuelve false.
Vectores con índice de Texto
Un vector en PHP, no solamente debe contener índice numérico, sino también, puede ser una letra o un texto.
• Ejemplo Práctico 6:
• Cargar en un vector algunas ciudades del
mundo, de manera que el índice del vector
contenga los tres primeros caracteres de la
ciudad almacenada.
<Html>
<Title> Ejemplo 6.php </Title>
<Body>
<?Php
// Inicializacion del Vector
$Ciudad = array("Par" => "Paris",
"Lon" => "Londres",
"Ate" => "Atenas",
"Ber" => "Berlin",
"Lim" => "Lima");
echo "<H2>"."Vector de Ciudades";
echo "<H3>"."<Hr>";
while (list($i,$Valor)=each($Ciudad))
{
echo "Posición: " . $i ." - ";
echo "Contenido: " . $Valor;
echo "<Br>";
}
?>
</Body>
</Html>
•Las variables a nivel de sesión.
•Guardar información en el equipo cliente: cookies.
•La QueryString
•2.3 Acceso a datos
•2.3.1 Introducción al acceso a datos
•El acceso a datos desde sitios web.
•Conectar con Microsoft SQL.
•Conectar con Microsoft Access.
•Mostrar información de una base de datos en un formulario web.
•2.3.2 Manejo de datos
•Conectar a una base de datos
•Mostrar datos en un formulario
•Crear formularios de entrada
•Cadenas de conexión
•Actualizar datos mediante controles
•2.3.3 XML
•¿Qué es XML?
•Accesar datos en XML
•3. Tópicos avanzados
•3.1 Master Pages.
•3.2 Seguridad
•Principios básicos.
•El acceso anónimo.
•Autentificación
•La creación de usuarios y roles.
•Las normas de acceso.
•Controles web para la autentificación.
•3.3 Web Parts.
•Introducción a las ASP.NET Web Part.
•Crear una página con Web Parts.
•Cambiar la apariencia y la disposición en tiempo de ejecución.
•Agregar Web Parts en tiempo de ejecución.
•3.4 Manejo de imágenes.
•El control FileUpload

Weitere ähnliche Inhalte

Was ist angesagt?

Tutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAPTutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAPElwin Huaman
 
Servidor web present formal
Servidor web present formalServidor web present formal
Servidor web present formalsaytubb
 
Servidores Web y de Base de Datos
 Servidores Web y de Base de Datos  Servidores Web y de Base de Datos
Servidores Web y de Base de Datos Sergio Cadenas
 
Php manual-practica-one
Php manual-practica-onePhp manual-practica-one
Php manual-practica-oneleybit
 
Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclojdavilac1959
 
Web Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPWeb Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPElwin Huaman
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando phpCarlos Cruz Rincon
 
13.servidor http
13.servidor http13.servidor http
13.servidor httpGisellexcx
 

Was ist angesagt? (16)

Servidor web
Servidor webServidor web
Servidor web
 
servidores web
servidores webservidores web
servidores web
 
Tutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAPTutorial Web Services en PHP, REST, SOAP
Tutorial Web Services en PHP, REST, SOAP
 
Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
 
Servidor web present formal
Servidor web present formalServidor web present formal
Servidor web present formal
 
Servidores Web y de Base de Datos
 Servidores Web y de Base de Datos  Servidores Web y de Base de Datos
Servidores Web y de Base de Datos
 
(454732591) servidor web
(454732591) servidor web(454732591) servidor web
(454732591) servidor web
 
Php manual-practica-one
Php manual-practica-onePhp manual-practica-one
Php manual-practica-one
 
Servidores web 6ciclo
Servidores web 6cicloServidores web 6ciclo
Servidores web 6ciclo
 
Web Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPWeb Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAP
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Exposicion
ExposicionExposicion
Exposicion
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
13.servidor http
13.servidor http13.servidor http
13.servidor http
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 

Andere mochten auch

Markhor rock himalayan comestível salt &amp; lâmpadas (catálogo) portuguese
Markhor   rock himalayan comestível salt &amp; lâmpadas (catálogo) portugueseMarkhor   rock himalayan comestível salt &amp; lâmpadas (catálogo) portuguese
Markhor rock himalayan comestível salt &amp; lâmpadas (catálogo) portugueseAbdaal Ahmed 阿布达拉
 
20160419155427374_0004
20160419155427374_000420160419155427374_0004
20160419155427374_0004Jackquine Saal
 
Nancy Sherif Hanafi Saleh
Nancy Sherif Hanafi SalehNancy Sherif Hanafi Saleh
Nancy Sherif Hanafi SalehNansy Sherif
 
Controle seu Tempo!
Controle seu Tempo!Controle seu Tempo!
Controle seu Tempo!Murillo Boga
 
Mi experiencia TDAH
Mi experiencia TDAHMi experiencia TDAH
Mi experiencia TDAHAbel Braille
 
Politica de saude no brasil
Politica de saude no brasilPolitica de saude no brasil
Politica de saude no brasilRenata Nunes
 
hDeusa suprema kali
hDeusa suprema kalihDeusa suprema kali
hDeusa suprema kaliOgun Deje
 
Verão 2015 cruzeiro ilhas gregas may
Verão 2015 cruzeiro ilhas gregas mayVerão 2015 cruzeiro ilhas gregas may
Verão 2015 cruzeiro ilhas gregas maytravelalacarte
 
Bilfa Fiyat Listesi
Bilfa Fiyat ListesiBilfa Fiyat Listesi
Bilfa Fiyat ListesiReha Pelit
 
రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?
రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?
రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?telugustop.com
 
Formato de oficios.
Formato de oficios.Formato de oficios.
Formato de oficios.sccermcs
 

Andere mochten auch (19)

201604181605
201604181605201604181605
201604181605
 
Markhor rock himalayan comestível salt &amp; lâmpadas (catálogo) portuguese
Markhor   rock himalayan comestível salt &amp; lâmpadas (catálogo) portugueseMarkhor   rock himalayan comestível salt &amp; lâmpadas (catálogo) portuguese
Markhor rock himalayan comestível salt &amp; lâmpadas (catálogo) portuguese
 
logo mockup
logo mockuplogo mockup
logo mockup
 
20160419155427374_0004
20160419155427374_000420160419155427374_0004
20160419155427374_0004
 
20160419155427374_0001
20160419155427374_000120160419155427374_0001
20160419155427374_0001
 
Nancy Sherif Hanafi Saleh
Nancy Sherif Hanafi SalehNancy Sherif Hanafi Saleh
Nancy Sherif Hanafi Saleh
 
Controle seu Tempo!
Controle seu Tempo!Controle seu Tempo!
Controle seu Tempo!
 
Referente à pá1
Referente à pá1Referente à pá1
Referente à pá1
 
Mi experiencia TDAH
Mi experiencia TDAHMi experiencia TDAH
Mi experiencia TDAH
 
Politica de saude no brasil
Politica de saude no brasilPolitica de saude no brasil
Politica de saude no brasil
 
hDeusa suprema kali
hDeusa suprema kalihDeusa suprema kali
hDeusa suprema kali
 
01 indice
01 indice01 indice
01 indice
 
Verão 2015 cruzeiro ilhas gregas may
Verão 2015 cruzeiro ilhas gregas mayVerão 2015 cruzeiro ilhas gregas may
Verão 2015 cruzeiro ilhas gregas may
 
Bilfa Fiyat Listesi
Bilfa Fiyat ListesiBilfa Fiyat Listesi
Bilfa Fiyat Listesi
 
El adviento final
El adviento finalEl adviento final
El adviento final
 
రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?
రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?
రెండు రాష్ట్రాలకు కాబోయే ముఖ్యమంత్రులు వీరేనా ?
 
Formato de oficios.
Formato de oficios.Formato de oficios.
Formato de oficios.
 
Cartel pdf
Cartel pdfCartel pdf
Cartel pdf
 
Prevision jeudi
Prevision jeudiPrevision jeudi
Prevision jeudi
 

Ähnlich wie Introducción a la programación en internet

1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.ppt1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.pptJaime Ramos
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando phpvictdiazm
 
Generacion de web sites dinamico
Generacion de web sites dinamicoGeneracion de web sites dinamico
Generacion de web sites dinamicoJose Luis Crespo
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)Tensor
 
13 servidor http
13 servidor http13 servidor http
13 servidor httpIsaacVk
 
Arquitectura web EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
Arquitectura web  EXPOSICION KAREN ANDRADE, EFRAIN SARANSIGArquitectura web  EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
Arquitectura web EXPOSICION KAREN ANDRADE, EFRAIN SARANSIGEfrain Criss
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada2013maquerajuan
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada2013maquerajuan
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada2013maquerajuan
 

Ähnlich wie Introducción a la programación en internet (20)

Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.ppt1.4 tecnologiasWeb.ppt
1.4 tecnologiasWeb.ppt
 
Servidores
ServidoresServidores
Servidores
 
Generación de web sites dinámicos usando php
Generación de web sites dinámicos usando phpGeneración de web sites dinámicos usando php
Generación de web sites dinámicos usando php
 
Generacion de web sites dinamico
Generacion de web sites dinamicoGeneracion de web sites dinamico
Generacion de web sites dinamico
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Clase17(introduccion a la web)
Clase17(introduccion a la web)Clase17(introduccion a la web)
Clase17(introduccion a la web)
 
Arquitectura Web
Arquitectura WebArquitectura Web
Arquitectura Web
 
servidor
servidorservidor
servidor
 
Servidores
ServidoresServidores
Servidores
 
13 servidor http
13 servidor http13 servidor http
13 servidor http
 
Modelo cliente/servidor
Modelo cliente/servidorModelo cliente/servidor
Modelo cliente/servidor
 
PROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptxPROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptx
 
Mantenimiento Servidores de-web
Mantenimiento Servidores de-webMantenimiento Servidores de-web
Mantenimiento Servidores de-web
 
Arquitectura web EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
Arquitectura web  EXPOSICION KAREN ANDRADE, EFRAIN SARANSIGArquitectura web  EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
Arquitectura web EXPOSICION KAREN ANDRADE, EFRAIN SARANSIG
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Clientes servidor
Clientes servidorClientes servidor
Clientes servidor
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada
 

Kürzlich hochgeladen

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Kürzlich hochgeladen (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Introducción a la programación en internet

  • 1. Introducción a la programación en internet Conceptos de aplicaciones Web La diferencia entre escritorio y web.
  • 2. Aplicación Desktop • También llamadas de Escritorio, es aquella que está instalada en la computadora del usuario, que es ejecutada directamente por el sistema operativo, cuyo rendimiento depende de las especificaciones de la computadora.
  • 3. Ventajas • Habitualmente su ejecución no requiere comunicación con el exterior, sino que se realiza en forma local. • Son más robustas y estables • En tiempo de respuesta en muy rápido • Pueden ser muy seguras
  • 4. Desventajas • Su acceso se limita al ordenador donde están instaladas. • Son dependientes del sistema operativo que utiliza la computadora. • Requieren instalación personalizada. • Requieren actualizaciones personalizadas. • Suelen tener requerimientos especiales de software y librerías.
  • 5. Aplicación Web • También llamadas Online, es aquella que está instalada en un Servidor y su ejecución requiere disponer de una computadora con conexión a Internet y de un Navegador.
  • 6. Ventajas • Portabilidad: se ejecutan en cualquier equipo de computo • La información que manejan es accesible a través de Internet • Son aplicaciones muy ligeras, el navegador no tiene el programa, por consiguiente el navegador no debe ser muy pesado. • Consumen muy pocos recursos • Son fáciles de actualizar. • Su funcionalidad es independiente del sistema operativo • No hay problemas de incompatibilidad entre versiones, porque el usuario trabaja con la misma.
  • 7. Desventajas • Es necesaria una conexión a Internet. • La comunicación con el servidor que ejecuta la aplicación establece una dependencia a una buena conexión a Internet. • El servidor debe tener las prestaciones necesarias para la ejecutar la aplicación de manera fluida. • El tiempo de ejecución, puede ser lento dependiendo de las características de la computadora y de la conexión a Internet.
  • 8. El usuario desde cualquier parte del mundo y desde cualquier dispositivo (PC, laptop, mobile), desea ver donde será el próximo @BeerTwit. 1.-El usuario tiene que ingresar la URL de la página en su navegador (*1). El navegador por detrás se encargará de hacer un request (solicitud) al servidor Web usando el protocolo de comunicación HTTP (*2) (internet), y en este caso usará el método GET, porque sólo quiere obtener información
  • 9. • El servidor Web recibe el request y envía un response (sólo html) al navegador. Los navegadores no entienden el código ASP, PHP, o JSP, ellos sólo muestran contenido en html (*3), es por eso que todos los servidores Web después de procesar un request devuelven sólo html (que puede incluir Javascript (*4)), el html generado debe ser un formulario en html, para que el usuario pueda enviar su información. Por otro lado si el usuario ha iniciado sesión con anterioridad es posible que su sesión este activa, y no tenga que iniciar sesión nuevamente.
  • 10. • El usuario llena su información, user y password, y hace clic en el famoso botón “Sign in”. El navegador por detrás recolectará esta información, y en este caso que se desea enviar esa información al servidor debe estar usando el método POST. Todos los lenguajes usan POST para enviar información a una página, ya sea ASP.NET, Php, JSP, etc (*5). En el caso especial de ASP.NET cuando están desarrollando por defecto todos los formularios se envían usando POST, pueden hacer “View Source” de una página en el navegador y verán que el formulario html tiene el método POST. Pueden ver también esto usando la herramienta Fiddler. Con GET también se puede enviar variables, pero no es técnicamente enviar información, es mas bien, un obtener información con estos parámetros.
  • 11. • El request llega al servidor Web, y se ejecutará el código de servidor Php, Jsp, o ASP, que se conectará con la base para verificar si existe el usuario y si el password coincide con el enviado por el usuario. • Si el usuario y el password son validos, el código de servidor (login.php, login.jsp, o login.aspx), redireccionará el request a otra página showUpdates.php, la cual se conecta nuevamente a la base de datos para traer todos los updates de los amigos del usuario, después de procesar la página, el servidor envía el response (sólo html) al usuario. • El usuario ve en una página las últimas actualizaciones de sus amigos, y parece que esta semana no habrá @BeerTwit, así que tendrá que inventar alguna excusa para generar uno nuevo.
  • 12. Introducción a XAMPP • XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. • El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y MacOS X.
  • 13.
  • 14. ¿Qué es PHP? • PHP (acrónimo dePHP: HypertextPreprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para desarrollo web y que puede ser incrustado en HTML. • Una respuesta corta y concisa, pero, ¿qué significa realmente? Un ejemplo nos aclarará las cosas:
  • 15. • En lugar de usar muchos comandos para mostar HTML (como en C o Perl), páginas PHP contienen HTML con código incluido en el mismo que hace "algo" (en este caso, mostrar "Hola ¡soy un script PHP!). El código PHP está entre medio de etiquetas de comienzo y final especiales<?php y ?> que nos permitirán entrar y salir del "modo PHP". • Lo que distingue a PHP de algo lado-cliente como Javascript, es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá los resultados de ejecutar el script, sin ninguna posibilidad de determinar qué código ha producido el resultado recibido. El servidor web puede ser incluso configurado para que procese todos los archivos HTML con PHP y entonces no hay manera que los usuarios puedan saber que tienes debajo de la manga.
  • 17. Arquitectura cliente-servidor • La arquitectura cliente-servidores un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. • En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
  • 18.
  • 19. • La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. • Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema. • La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
  • 20. • La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se esté utilizando en una red mixta.
  • 21. Características En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son: • Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo). • Espera y recibe las respuestas del servidor. • Por lo general, puede conectarse a varios servidores a la vez. • Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. • Al contratar un servicio de redes, se debe tener en cuenta la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza, por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
  • 22. Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son: • Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). • Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. • Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). • No es frecuente que interactúen directamente con los usuarios finales.
  • 23. Protocolo HTTP HTTP es un protocolo de transferencia de hipertexto que se usa en la Web. HTTP es una sigla que significa HyperText Transfer Protocol, o Protocolo de Transferencia de Hipertexto. Este protocolo fue desarrollado por las instituciones internacionales W3C y IETF y se usa en todo tipo de transacciones a través de Internet. El HTTP facilita la definición de la sintaxis y semántica que utilizan los distintos softwares web – tanto clientes, como servidores y proxis – para interactuar entre sí. Este protocolo opera por petición y respuesta entre el cliente y el servidor. A menudo las peticiones tienen que ver con archivos, ejecución de un programa, consulta a una base de datos, traducción y otras funcionalidades. Toda la información que opera en la Web mediante este protocolo es identificada mediante el URL o dirección. La típica transacción de protocolo HTTP se compone de un encabezado seguido por una línea en blanco y luego un dato. Este encabezado define la acción requerida por el servidor.
  • 24. • Desde su creación, el HTTP evolucionó en diversas versiones. Entre ellas, la 0.9, la 1.0, la 1.1 y la 1.2.El protocolo de este tipo opera con códigos de respuesta de tres dígitos, que comunican si conexión fue rechazada, si se realizó con éxito, si ha sido redirigida hacia otro URL, si existe un error por parte del cliente, o bien, por parte del servidor. • Las aplicaciones y navegadores web tienden a complementar la acción del HTTP como ocurre, por ejemplo, con las denominadas “cookies”, que permiten almacenar información de la sesión, función de la que no dispone este protocolo, ya que opera sin estado. • Hoy en día, muchas de las direcciones de URL requieren la inclusión del protocolo “http://” para su correcto funcionamiento. Este protocolo es usualmente seguido del típico código “www” y luego por la dirección específica del sitio web que se desea visitar
  • 25. Protocolo TCP/IP • El nombre TCP/IP proviene de dos de los protocolos más importantes de la familia de protocolos Internet, el Transmission Control Protocol (TCP) y el Internet Protocol (IP). • La principal virtud de TCP/IP estriba en que esta diseñada para enlazar ordenadores de diferentes tipos, incluyendo PCs, minis y mainframes que ejecuten sistemas operativos distintos sobre redes de área local y redes de área extensa y, por tanto, permite la conexión de equipos distantes geográficamente. • Internet se encuentra estrechamente unida a un sistema de protocolo de comunicación denominado TCP/IP (Transmission Control Protocol/ Internet Protocol), que se utiliza para transferir datos en Internet además en muchas redes de área local.
  • 26. QUE ES TCP/IP Y COMO FUNCIONA? • TCP/IP es el nombre de un protocolo de conexión de redes. Un protocolo es un conjunto de reglas a las que se tiene que atener todas las compañías y productos de software con él fin de que todos sus productos sean compatibles entre ellos. Estas reglas aseguran que una máquina que ejecuta la versión TCP/IP de Digital Equipment pueda hablar con un PC Compaq que ejecuta TCP/IP. • TCP/IP es un protocolo abierto, lo que significa que se publican todos los aspectos concretos del protocolo y cualquiera los puede implementar. • TCP/IP está diseñado para ser un componente de una red, principalmente la parte del software. Todas las partes del protocolo de la familia TCP/IP tienen unas tareas asignadas como enviar correo electrónico, proporcionar un servicio de acceso remoto, transferir ficheros, asignar rutas a los mensajes o gestionar caídas de la red. • Una red TCP/IP transfiere datos mediante el ensamblaje de bloque de datos en paquetes. Cada paquete comienza con una cabecera que contiene información de control, tal como la dirección del destino, seguida de los datos. Cuando se envía un archivo a través de una red TCP/IP, su contenido se envía utilizando una serie de paquetes diferentes.
  • 27. ARQUITECTURA DE NIVELES DE TCP / IP • Cuando se diseñó TCP/IP los comités establecidos para crear la familia de protocolos consideraron todos los servicios que se tenían que proporcionar. La distribución por niveles se utiliza en muchos sistemas de software; una referencia común es la arquitectura ideal del protocolo de conexión de redes desarrollada por la International OrganizationforStandardization, denominada ISO, aunque en realidad debería decir IOS, ISO desarrollo el modelo de referencia Open SystemsInterconnection (OSI), o Interconexión de Sistemas abiertos que consta de siete niveles. • • • • • • • APLICACIÓN PRESENTACION SESION TRANSPORTE RED ENLACE DE DATOS FISICO • El modelo de referencia OSI se desarrolló para aislar los componentes comunes del sistema del software en niveles. Cada nivel es independiente del resto.
  • 28. • Cada nivel en el modelo de referencia OSI tiene una tarea especifica que desempeñar. El objetivo de una arquitectura por niveles es agrupar servicios afines, a la vez que conseguir que sean independientes de los demás. Las tareas son un poco abstractas, porque el modelo OSI es simplemente eso, un modelo. No esta diseñado para ser un modelo real, sino un modelo para que lo sigan sistemas como TCP/IP. El enfoque OSI por niveles es el que utiliza TCP/IP, aunque con una ligera modificación. Los niveles son similares, aunque TCP/IP agrupa varios de los niveles OSI en un único nivel TCP/IP. Esto se realiza principalmente porque era el mejor método de implementar los servicios TCP/IP.
  • 29. • Una condición que se necesita para permitir que la arquitectura por niveles funcione adecuadamente es que cada nivel debe saber lo que recibe de un nivel por encima o por debajo. Para simplificar esta tarea, cada nivel añade un bloque de datos al principio y al final del mensaje que indica que nivel está implicado, además del resto de información que los otros niveles y la máquina que lo va a recibir necesitan para manejar el mensaje de forma adecuada. Los datos dentro del mensaje se ignoran. Esto se denomina encapsulación, ya que cada nivel añade una cápsula de información en torno a los datos originales. • • • • • APLICACIÓN TRANSPORTE INTERNET INTERFACE DE RED FÍSICO
  • 30. Los niveles TCP/IP • Cada nivel lleva a cabo su propia encapsulación añadiendo cabecera y bloques finales que reciben del nivel superior, lo que tiene como resultado seis conjuntos de cabeceras y bloques finales en el momento en que un mensaje llega a la red. Todas estas cabeceras y bloques finales se pasan a la red (como por ejemplo Ethernet o Netware) que puede añadir incluso más información al principio o al final
  • 31. LOS COMPONENTES DE TCP/IP Conjunto de Protocolos TCP/IP : Todos estos servicios conforman TCP/IP, creando un protocolo potente y eficaz de red. Los diferentes protocolos dentro de TCP/IP se mantienen de forma regular por un conjunto de estándares que son parte de la organización de Internet. Los protocolos de transporte controlan el movimiento de datos entre dos maquinas.
  • 32. • « TCP (Transmission Control Protocol). Protocolo de Control de Transmisión. Un servicio basado en una conexión, lo que significa que las máquinas que envían y reciben datos están conectadas y se comunican entre ellas en todo momento. • « UDP (UserDatagramProtocol). Protocolo de Datagramas a nivel de Usuario. Un servicio sin conexión, lo que significa que los datos se envían o reciben estén en contacto entre ellas.
  • 33. • Los protocolos de rutas gestionan el direccionamiento de los datos y determinan el mejor medio de llegar la destino. También pueden gestionar la forma en que se dividen los mensajes extensos y se vuelven a unir en el destino. « IP (Internet Protocol). Protocolo de Internet. Gestiona la transmisión actual de datos. « ICMP (Internet Control Message Protocol).Protocolo de Control de Mensajes de Internet. Gestiona los mensajes de estado para IP, como errores o cambios en el hardware de red que afecten a las rutas. « RIP (RoutingInformationProtocol). Protocolo de Información de Rutas. Uno de los varios protocolos que determinan el mejor método de ruta para entregar un mensaje. « OSPF (Open Shortest Path First).AbrePrimero el Path Mas Corto.Un protocolo alternativo para determinar la ruta
  • 34. Las direcciones de red las gestionan servicios y es el medio por el que se identifican las maquinas, tanto por su nombre y número único. « ARP (AddressResolutionProtocol). Protocolo de Resolución de Direcciones. Determina las direcciones numéricas únicas de las máquinas en la red. « DNS (DomainNameSystem). Sistema de Nombres de Dominio. Determina las direcciones numéricas desde los nombres de máquinas. « RARP (Reverse Address Resolution Protocol).Protocolo de Resolución Inversa de Direcciones. Determina las direcciones de las máquinas en la red, pero en sentido inverso al de ARP.
  • 35. Los servicios de usuario son las aplicaciones que un usuario (o maquina) pueden utilizar. « BOOTP (BootProtocol). Protocolo de Arranque, como su propio nombre lo indica, inicializa una máquina de red al leer la información de arranque de un servidor. « FTP (File Transfer Protocol), el Protocolo de Transferencia de Ficheros transfiere ficheros de una máquina a otra. « TELNET permite accesos remotos, lo que significa que un usuario en una máquina puede conectarse a otra y comportarse como si estuviera sentado delante del teclado de la máquina remota. Los protocolos de pasarela ayudan a que la red comunique información de ruta y estado además de gestionar datos para redes locales. « EGP (Exterior Gateway Protocol). Protocolo de Pasarela Externo, transfiere información de ruta para redes externas. « GGP (Gateway-to-Gateway Protocol).Protocolo de Pasarela a pasarela, transfiere información de ruta entre pasarelas. « IGP (Interior Gateway Protocol). Protocolo de Pasarela Interno, transfiere información de ruta para redes internas.
  • 36. Los otros protocolos son servicios que no se adaptan a las categorías, pero proporcionan servicios importantes en una red. « NFS (Network File System). Sistema de Ficheros de Red, permite que los directorios en una máquina se monten en otra y que un usuario puede acceder a ellos como si estos se encontraran en la máquina local. « NIS (Network InformationService). Servicio de Información de Red, mantiene las cuentas de usuario en todas las redes, simplificando el mantenimiento de los logins y passwords. « RPC (RemoteProcedureCall). Llamada de Procedimiento Remota, permite que aplicaciones remotas se comuniquen entre ellas de una manera sencilla y eficaz. « SMTP (Simple Mail Transfer Protocol).Protocolo Simple de Transferencia de Correo, es un protocolo dedicado que transfiere correo electrónico entre máquinas. « SNMP (Simple Network Management Protocol).Protocol Simple de Gestión de Redes, es un servicio del administrador que envía mensajes de estado sobre la red y los dispositivos unidos a ésta
  • 37. SERVICIOS BÁSICOS TCP/IP Sin haber instalado ningún software especial en el sistema de su computadora, podrá empezar inmediatamente a proporcionar ciertos servicios TCP/IP básicos en la red. Existen tres formas de proporcionar servicios TCP/IP, que trataremos en este orden : • Sistemas operativos cliente y servicios TCP/IP que estos proporcionan por defecto. • Extensiones que se pueden hacer en el sistema operativo cliente con el fin de proporcionar servicios adicionales, • Soluciones se servidor dedicado • Es posible que, para sus necesidades, solo requiera los que suministra a los que se pueda añadir fácilmente a los sistemas operativos del cliente.
  • 38. SERVICIOS BÁSICOS AL CLIENTE • Dado que los sistemas operativos Mac y Windows 95/98 se consideran ambos "clientes", proporcionan un número limitado de servicios por defecto, Si bien existen programas que pueden dar información de sistemas operativos. Mac y Windows, éstos están limitados generalmente en velocidad y en el número de clientes que pueden manejar. Por otro lado, Linux se usa frecuentemente como sistema operativo cliente y servidor.
  • 39. SERVICIOS PREDETERMINADOS DE MAC OS • Mac Os, por defecto, incluye un solo cliente TCP/IP; un navegador Web. Sin embargo, tiene la capacidad de proporcionar la funcionalidad de un servidor Web y de un servidor de archivos básico.
  • 40. USO DE WEB FILE SHARING EN SISTEMAS OPERATIVOS MAC • Web File Sharing es, un método para compartir archivos desde el Macintosh al exterior de una conexión TCP/IP usando el protocolo HTTP. Hay dos modos de funcionamiento de Web File Sharing , el modo de servidor Web y el modo de <buscador> Web. En le primero Web File Sharing actúa como servidor Web normal. Puede seleccionar una página HTLM en su computadora y se servirá cuando la gente se conecte a ella. Una de las características más atractivas del modo de servidor Web es que puede traducir instantáneamente archivos de texto sencillo a paginas Web. • El sistema operativo Mac, por defecto, no incluye ninguna otra posibilidad de servidor TCP/IP con el sistema instalado. Lo que tiene integrado es la opción de compartir archivos llamada Apple Talk (o Ethernet Talk), que permite usar Apple Talk por el TCP/IP. Se trata de un producto de servidor que no forma parte del sistema operativo Mac estándar.
  • 41. SERVICIOS BASICOS PARA WINDOWS 95/98 • Windows se encuentra en el extremo opuesto de Mac Os; incluye varios clientes TCP/IP pero ninguna posibilidad predeterminada de dar servicio a plataformas cruzadas. Dependiendo de la versión del sistema operativo que tenga, puede ser que haya una función servidora de Web que se parezca a la de Mac OS. Sin embargo la instalación predeterminada de Windows 95 no incluye esta característica. Cuando se instala el protocolo TCP/IP, Windows también instala varias aplicaciones TCP/IP que son útiles. Telnet, ping, netstat, traceroute, Internet Explorer y ARP se instalan todas ellas como parte del paquete TCP/IP predeterminado para redes en Windows. Desde un punto de vista del cliente, se trata de un excelente colección de utilidades que se pueden usar para diagnosticar problemas de conexión de la red. Dado que Windows 95 y 98 están diseñados para ser clientes, esta situación es perfectamente aceptable.
  • 42. • Windows no proporciona por defecto un servicio TCP/IP, pero es de valor limitado en una red de plataforma cruzada; la opción de compartir archivos SMB de Windows, SMB es un sistema servidor de archivos propio de la plataforma Windows. Pero con la ayuda del protocolo de transporte NetBios puede ejecutarse sobre TCP/IP. Existen clientes de sistemas operativos Mac y Linux, pero requieren software adicional para funcionar. Si está ejecutando una red solo para Windows, no habrá problema
  • 43. DIRECCIONES IP • Longitud de 32 bits. • Identifica a las redes y a los nodos conectados a ellas.
  • 44. Subredes en IP * Las Subredes son redes físicas distintas que comparten una misma dirección IP. * Deben identificarse una de otra usando una máscara de subred. * La máscara de subred es de cuatro bytes y para obtener el número de subred se realiza un operación AND lógica entre ella y la dirección IP de algún equipo. * La máscara de subred deberá ser la misma para todos los equipos de la red IP.
  • 45. Subredes en Direcciones IP • Ejemplo • Supóngase que la dirección IP de un equipo es 148.206.257.2 • La máscara de subred es 255.255.255.0 * El equipo por tanto está en la subred 148.206.257.0
  • 46. Funcionamiento de una aplicación Web • Una aplicación Web es un conjunto de páginas Web estáticas y dinámicas. Una página Web estática es aquélla que no cambia cuando un usuario la solicita: el servidor Web envía la página alnavegador Web solicitante sin modificarla. Por el contrario, el servidor modifica las páginas Web dinámicas antes de enviarlas al navegador solicitante. La naturaleza cambiante de este tipo de página es la que le da el nombre de dinámica .Por ejemplo, podría diseñar una página para que mostrara los resultados del programa de salud y dejara cierta información fuera (como el nombre del empleado y sus resultados) para calcularla cuando la página la solicite un empleado en particular
  • 47. Procesamiento de páginas Web estáticas • Un sitio Web estático consta de un conjunto de páginas y de archivos HTML relacionadosalojados en unequipo que ejecutaun servidor Web.Un servidor Web es un software que suministra páginas Web en respuesta a laspeticiones de losnavegadores Web. La petición de una página se genera cuando el usuario hace clic en un vínculode una página Web, elige un marcador en un navegador o introduce un URL en el cuadro detexto Dirección del navegador.El contenido final de una página Web estática lo determina el diseñador de la página y no cambiacuando se solicita la página. He aquí un ejemplo:
  • 48. <html> <head><title>Página informativa</title> </head> <body><h1>Acerca</h1><p>Ford es un fabricante líder de automóviles.</p> </body> </html>
  • 49. • El diseñador escribe todas y cada una de las líneas de código HTML de la página antes decolocarla en el servidor. El código HTML no cambia una vez colocado en el servidor y por ello,este tipo de páginas se denomina página estática. • Cuando el servidor Web recibe una petición de una página estática, el servidor lee la solicitud, localiza la página y la envía al navegador solicitante, como se muestra en la siguiente figura:
  • 50.
  • 51. Procesamiento de páginas dinámicas • Cuando un servidor Web recibe una petición para mostrar una página Web estática, el servidor la envía directamente al navegador que la solicita. Cuando el servidor Web recibe una petición para mostrar una página dinámica, sin embargo, reacciona de distinta forma: transfiere la página a un software especial encargado de finalizar la página. Este software especial se denomina servidor de aplicaciones. El servidor de aplicaciones lee el código de la página, finaliza la página en función de las instrucciones del código y elimina el código de la página. El resultado es una página estática que el servidor de aplicaciones devuelve al servidor Web, que a su vez la envía al navegador solicitante. Lo único que el navegador recibe cuando llega la página es código HTML puro. A continuación se incluye una vista de este proceso:
  • 52.
  • 53. Creación de una aplicación Web Etiquetas de PHP • Cuando PHP interpreta un fichero, busca las etiquetas de apertura y cierre, que son <?php y ?>, y que indican a PHP dónde empezar y finalizar la interpretación del código. Este mecanismo permite a PHP ser incrustado en todo tipo de documentos, ya que todo lo que esté fuera de las etiquetas de PHP será ignorado por el intérprete. • PHP también permite las etiquetas abreviadas <? y ?> (las cuales están desaconsejadas debido a que sólo están disponibles si se habilitan con la directiva short_open_tagdel fichero de configuración php.ini, o si PHP se configuró con la opción--enableshort-tags . • Si un fichero contiene código PHP puro, es preferible omitir la etiqueta de cierre de PHP al final del fichero. Esto impide que se añadan espacios en blanco o nuevas líneas después de la etiqueta de cierre de PHP, los cuales pueden causar efectos no deseados debido a que PHP iniciará la salida del buffer cuando no había intención por parte del programador de enviar ninguna salida en ese punto del script.
  • 54. <?php echo "Hola mundo"; // ... más código echo "Última sentencia";
  • 55. Salir de HTML • Cualquier cosa fuera del par de etiquetas de apertura y cierre es ignorado por el intérprete de PHP, el cual permite que los ficheros de PHP tengan contenido mixto. Esto permite que PHP sea embebido en documentos HTML para, por ejemplo, crear plantillas. <p>Esto va a ser ignorado por PHP y mostrado por el navegador.</p > <?php echo 'Mientras que esto va a ser interpretado.'; ?> <p>Esto también será ignorado por PHP y mostrado por el navegad or.</p> • Esto funciona como se espera, porque cuando PHP intercepta las etiquetas de cierre ?>, simplemente comienza a imprimir cualquier cosa que encuentre (a excepción de un una nueva línea inmediatamente despuéshasta que dé con otra etiqueta de apertura a menos que se encuentre en mitad de una sentencia condicional, en cuyo caso el intérprete determinará el resultado de la condición antes de tomar una decisión de qué es lo que tiene que saltar. Vea el siguiente ejemplo.
  • 56. Usar estructuras con condiciones Ejemplo #1 Salida avanzada usando condiciones <?php if ($expresión == true): ?> Esto se mostrará si la expresión es verdadera. <?php else: ?> En caso contrario se mostrará esto. <?php endif; ?> • En este ejemplo, PHP saltará los bloques donde la condición no se cumpla, incluso si están fuera de las etiquetas de apertura/cierre de PHP, PHP los saltará según la condición, ya que el intérprete saltará por encima de los bloques contenidos dentro de una condición que no se cumpla. • Para imprimir bloques de texto grandes, es más eficiente abandonar el modo intérprete de PHP que enviar todo el texto a través de echo o print.
  • 57. Existen cuatro tipos de pares de etiquetas de apertura y de cierre que se pueden usar en PHP. Dos de estas, <?php ?> y <script language="php"></script>, siempre están disponibles. Las otras dos son las etiquetas abreviadas y las etiquetas estilo ASP, que se pueden activar o desactivar desde el fichero de configuración php.ini Aunque algunas personas encuentran las etiquetas abreviadas y las etiquetas estilo ASP más convenientes, son menos portables y generalmente no se recomiendan. Nota: Observe también que si se está incrustando PHP dentro de XML o XHTML necesitará usar las etiquetas <?php ?> para seguir los estándares.
  • 58. Ejemplo #2 Etiquetas de apertura y de cierre de PHP 1. <?php echo 'si se quiere mostrar documentos XHTML o XML, debe ha cerse así'; ?> 2. <script language="php"> echo 'algunos editores (como FrontPage) no les gusta las instruciones de proceso'; </script> 3. <? echo 'esta es la forma más simple, una instrución de procesado SG ML'; ?> <?= expresión ?> Esto es una forma abreviada de "<? echo expresión ?>“ 4. <% echo 'Quizá use de forma opcional etiquetas de estilo ASP'; %> <%= $variable; # Esto es una forma abreviada de "<% echo . . ." %>
  • 59. • Las etiquetas vistas en los ejemplos uno y dos están siempre disponibles; el ejemplo uno es el más común y recomendado de los dos. • Las etiquetas abreviadas (ejemplo tres) están solo disponibles cuando se activan mediante la directiva short_open_tag del fichero de configuración php.ini o si PHP se configuró con la opción --enable-short-tags .
  • 60. Separación de instrucciones • Como en C o en Perl, PHP requiere que las instrucciones terminen en punto y coma al final de cada sentencia. La etiqueta de cierre de un bloque de código de PHP automáticamente implica un punto y coma; no es necesario usar un punto y coma para cerrar la última línea de un bloque de PHP. La etiqueta de cierre del bloque incluirá la nueva línea final inmediata si está presente. <?php echo 'Esto es una prueba'; ?> <?php echo 'Esto es una prueba' ?> <?php echo 'Hemos omitido la última etiqueta de cierre';
  • 61. Comentarios PHP soporta comentarios 'C', 'C++' y etilo consola Unix (estilo Perl). Por ejemplo: <?php echo 'Esto es una prueba'; // Esto es un comentario estilo c++ de una sola línea /* Esto es un comentario multi-línea y otra lína de comentarios */ echo 'Esto es otra pruba'; echo 'Una prueba final'; # Esto es un comentario estilo consola de una sola línea ?>
  • 62. • Los comentarios del estilo "una sola línea" solo comentan hasta el final de la línea o del bloque actual de código de PHP, lo primero que suceda. Esto implica que el código HTML después de // ... ?> o # ... ?> SERÁ impreso: ?> sale del modo PHP y vuelve al modo HTML, por lo que // o # no pueden influir en eso. Si la directiva de configuración asp_tags está activada, actúa igual que // %> y # %>. Sin embargo, la etiqueta </script> no sale del modo PHP en un comentario de una sola línea. <h1>Esto es un <?php # echo 'simple';?> ejemplo</h1> <p>El encabezado anterior dirá 'Esto es un ejemplo'.</p>
  • 63. Los comentarios al estilo 'C' finalizan con el primer */ que se encuentre. Asegúrese de no anidar comentarios al estilo 'C'. Es muy fácil cometer este error cuando se intenta comentar un bloque grande de código. <?php /* echo 'Esto es una prueba'; /* Este comentario causará un problema*/ */ ?>
  • 64. Crear aplicación • Para crear una aplicación en PHP, se puede utilizar cualquier procesador de texto, ej. Bloc de notas o utilizar una aplicación más robusta, ejemplo Dreamweaver 8 o las diferentes versiones del mismo. En la siguiente imagen se muestra la caratula de la aplicación
  • 65.
  • 66. Se elige la opción de PHP y aparece la siguiente pantalla
  • 67. Dreamweaver tiene la opción de Código, Dividir y Diseño. Nos posicionamos en la opción de Código, y se visualiza el siguiente código
  • 68.
  • 69. Se guarda el archivo con extensión .PHP. Para poder visualizar la aplicación el Apache tiene una carpeta predefinida donde se deben guardar las aplicaciones
  • 70. Se puede crear una carpeta y guardar la página web. Para poder visualizarla se posiciona en el navegador predefinido y se escribe locahost o 127.0.0.1 /en nombre de la aplicación.
  • 71. Para poder ver el código fuente en cualquier navegador, se tiene una opción para visualizar el código fuente de la aplicación. Ejemplo el código resultante se muestra en la siguiente imagen.
  • 72. Agregar controles a un formulario • Para agregar controles a un formulario, se puede realizar de diferentes formas. Las más comunes es utilizando el bloc de notas donde se puede realizar páginas o aplicaciones Web a pie, esto quiere decir escribirlas línea por línea ejemplo.
  • 73. • La otra forma es por medio del programa Dreamweaver (cualquier versión) y se muestra en la siguiente imagen.
  • 74. • Para agregar más controles solamente se deben tanto escribir, como arrastrar en el programa Dreamweaver. Una ventaja al utilizar esta herramienta es, al momento de estar escribiendo los diferentes controles o complementos se puede visualizar el modo diseño. Otra ventaja es cuando se empieza a declarar los diferentes atributos se tiene una función de autoayuda.
  • 75. • Nota: Para poder interactuar con los controles o que en su defecto los mismo nos proporcionen datos, se necesitan la etiqueta <FORM></FORM>
  • 76. Organizar controles en un formulario La forma de organizar los controles de un formulario es utilizando tablas en html que son fáciles de diseñar. Ejemplo Prueba_de_formulario.php
  • 77. Formularios Web Las páginas php. Hemos visto como crear una página web, darle formato y añadirle funcionalidades. Una página web puede hacer muchas más cosas, puede mostrar los datos que obtiene es ese instante de una Base de Datos que reside en un servidor de Internet, puede comunicarse con otras webs, puede utilizar mapas, información del tiempo, etc. En definitiva, una página web puede mostrar información actualizada cada vez que se ejecuta. Es lo que se conoce como páginas dinámicas, en contraposición a las páginas estáticas, que siempre muestran la misma información. Para crear páginas dinámicas hay que emplear un lenguaje de programación web, como Java, .NET, o PHP. Si quieres ver las diferencias entre estos lenguajes visita este tema avanzado. Los lenguajes scripts son lenguajes que no necesitan ser compilados Una máquina servidor es capaz de interpretar el código fuente y ejecutarlo, lo que hace de los lenguajes script la mejor solución para programación en entornos web. Existen muchos lenguajes script (PHP, ASP, .NET, JSP, Perl, Phyton...) que nos permiten crear webs dinámicas, desde páginas simples hasta potentes aplicaciones web. Todos los lenguajes tienen sus pros y sus contras, por lo que no hay ninguno que sea claramente mejor que el resto.
  • 78. Vamos comentar los tres más empleados: ASP, JSP y PHP. • ASP Active Server Pages (ASP) es un lenguaje script propiedad de Microsoft.Su estructura se asemeja al lenguaje de programación Visual Basic. Es útil para crear aplicaciones web sencillas, normalmente con bases de datos de Access. El principal inconveniente que presenta es que sólo funciona en servidores Windows, y no en otros sistemas operativos como Linux. Nos referimos sólo al servidor que aloja la página, no al sistema operativo de quien la visita.
  • 79. JSP Java Server Pages (JSP) es un lenguaje que permite utilizar código Java en scripts.La tecnología fue creada por Sun Microsystems, y más tarde liberada para su uso general. Es un lenguaje potente, que dispone de una gran comunidad por estar basado en Java. Es muy utilizado por empresas o corporaciones para sus sitios web y aplicaciones. La mayoría de los servidores se pueden adaptar para utilizar Java, por lo que la aplicación puede ser exportada a muchas plataformas. Normalmente, se utilizan bases de datos MySQL. PHP PHP Hypertext Pre-processor (PHP) es el lenguaje script más utilizado en la web, ya que es sencillo de aprender y está diseñado expresamente para su uso en web. Esto hace que tenga una gran comunidad de usuarios, lo que facilita encontrar ejemplos e información utilizando cualquier buscador. Puede ser ejecutado en la mayoría de sistemas operativos, y utiliza cualquier gestor de bases de datos, aunque el más usado es MySQL.Es ideal para webs sencillas y de bajo costo, pero también se pueden crear aplicaciones complejas, sobre todo si se le añaden librerías, la mayoría gratuitas. Es además la opción más económica.
  • 80. ¿Qué es un formulario web? • • • Un formulario web dentro de una página web permite al usuario introducir datos los cuales son enviados a un servidor para ser procesados. Los formularios web se parecen a los formularios de papel porque los internautas llenan dichos formularios usando casillas de selección, botones de opción, o campos de texto. Por ejemplo, los formularios web pueden ser usados para introducir datos de envío o datos de una tarjeta de crédito con el objetivo de solicitar un producto o bien ser utilizada para solicitar datos (p. ej., al buscar en un motor de búsqueda). Además de servir como plantillas para nueva información, los formularios web también pueden ser usados para consultar y mostrar información existente en forma similar a los formularios decombinación de correspondencia, incorporando las mismas ventajas. La separación entre la estructura y los datos subyacentes de un mensaje permite a ambos variar independientemente. El uso de formularios webs para este propósito evita los problemas asociados con la creación explícita de páginas web separadas para cada registro en una base de datos. Los formularios web están definidos en lenguajes de programación como HTML, Perl, Java o .NET. Las implementaciones de estos lenguajes usualmente invocan automáticamente los idiomas de la interfaz de usuario y otras de sus características, tales como el diseño estructural, y tema, minimizando el tiempo, el costo y el tiempo de programación
  • 81. • Los formularios web están definidos en lenguajes de programación como HTML, Perl, Java o .NET. Las implementaciones de estos lenguajes usualmente invocan automáticamente los idiomas de la interfaz de usuario y otras de sus características, tales como el diseño estructural, y tema, minimizando el tiempo, el costo y el tiempo de programación. • Los formularios pueden ser combinados con varios scripts para permitir a los programadores crear sitios web dinámicos. Esto incluye tanto lenguajes del lado del servidor como lenguajes del lado del cliente.
  • 82. Lado del cliente • El estándar de facto en lo que a scripts para webs del lado del cliente respecta es JavaScript. Utilizar JavaScript en el DOM es el método más utilizado para generar HTML dinámico que permite creación y modificación dinámica de una página web dentro del navegador. • Aunque los lenguajes del lado del cliente que son usados en conjunto con los formularios son limitados, estos comúnmente pueden servir para hacer una prevalidación de los datos del formulario y/o preparar dichos datos para enviarlos al programa del lado del servidor.
  • 83. Lado del servidor • Los programas del lado del servidor pueden hacer un vasto ordenamiento de tareas para crear sitios web dinámicos — desde la autenticación de un usuario través de, por ejemplo, LDAP para enviar y guardar información en una base de datos, hasta verificar la ortografía de un documento al enviar un correo electrónico — a diferencia de lo que podría hacer un programa del lado del cliente. • La mayoría de las peticiones de los programas del lado del servidor deben pasar por la interfaz de entrada común (CGI) del servidor web para ejecutar el programa que realiza las tareas. • La ventaja del lado del servidor sobre el lado del cliente es la concentración de la funcionalidad en un solo computador (el servidor), en vez de depender de la implementación en cada navegador de todas las funciones involucradas. • Este mismo problema es tremendamente evidente para cualquier programador que escribe código JavaScript para múltiples navegadores.
  • 84. Algunos de los lenguajes de scripts comúnmente usados: • • • • • • PHP Perl Active Server Pages (ASP) ASP.NET ColdFusion JavaServerPages (JSP)
  • 85. Crear un formulario web. El objeto form El objeto form debe estar contenido entre las etiquetas <form> y </form>En principio la sintaxis básica para referirnos a un formulario sería: <form name="nombre_formulario" action="" method="POST" target="_blank"> .......campos.... </form> De todas formas, iremos viendo la aplicación de este tipo de sintaxis con los próximos ejemplos y a medida que avancemos.
  • 86. propiedad descripción name es el nombre único del formulario. action es el lugar al cual se envía el formulario para ser procesado. El action define la URL a la cual se envía dicho formulario. method método de envío de los datos insertados en un formulario. El method puede ser: GET = envía los datos en una cadena "visible". Conveniente para enviar pocos datos. POST = envía los datos en forma "invisible". Conveniente para enviar una gran cantidad de datos. define la ventana o marco (frame) en la que se mostrarán o procesarán los resultados target del formulario. El valor es el mismo que el utilizado en HTML (blank, self, top, nombre_marco, etc..)
  • 87. Sintaxis básica <form name="nombre_formulario" action="procesar.php" method="POST" target="_blank"> .......campos.... </form> Métodos del objeto form El objeto form posee dos métodos: método descripción submit envía el formulario. reset restablece el formulario a los valores por defecto. Sintaxisbásica <form name="nombre_formulario" action="procesar.php" method="POST" target="_blank"> .......campos.... <input type="submit" value="enviarformulario"> <input type="reset" value="borrar"> </form>
  • 88. Uso de Formularios • Otra de las características más importantes de PHP es que gestiona formularios HTML. El conceptobásicoque es importante entender es que cualquier elemento de los formularios estará disponible automáticamente en su código PHP. Ejemplos sobre cómo usar formularios HTML con PHP. Observemos un ejemplo: Ejemplo Un formulario HTML simple <formaction="accion.php" method="post"> <p>Su nombre: <input type="text" name="nombre" /></p> <p>Su edad: <input type="text" name="edad" /></p> <p><input type="submit" /></p></form>
  • 89. No hay nada especial en este formulario, es solamente HTML sin ninguna clase de etiquetas especiales de ningún tipo. Cuando el usuario rellena éste formulario y oprime el botón Submit, una página titulada accion.phpes llamada. En estearchivoencontraráalgoasí: Ejemplo Imprimir información desde nuestro formulario Hola<?phpecho “$_POST['nombre'])”;?>. Usted tiene <?phpecho “$_POST['edad']”;?>años de edad. Un ejemplo del resultado de esta secuencia de comandos puede ser: Hola José. Usted tiene 22 años de edad.
  • 90. Controles básicos Etiqueta <INPUT> <input> La etiqueta<input>es la que controla la mayoría de los posibles controles de un formulario en Html. El tipo de control lo indicaremos mediante el atributo type. Esta etiqueta no lleva etiqueta de cierre. Veamos cómo se usa y sus atributos:
  • 91.
  • 92. El resto de atributos dependen del tipo de control por lo que los estudiaremos por separado para los distintos tipos:
  • 93.
  • 94.
  • 95.
  • 96.
  • 97. Menús desplegables <select>,<option>y<optgroup> Otro tipo de controles son los menúes desplegables. Estos permiten seleccionar una o varias opciones de una lista. Un menú desplegable se crea con la etiqueta<select>y dentro de ella crearemos cada elemento de la lista con<option>. La tercera etiqueta,<optgroup>, sirve para agrupar los elementos de la lista cuando es necesario. Veamos cómo se utilizan estas etiquetas:
  • 98.
  • 99.
  • 100. Desarrollo de aplicaciones web Aplicación de controles HTML WEB De Validación Del Usuario 2.2 Gestión del estado
  • 101. Procesamiento de cadenas El lenguaje PHP ofrece una serie de herramientas para el procesamiento de cadenas, que es muy utilizado en mostrar datos con un cierto formato o en almacenar en una base de datos información de una manera determinada. A continuación se detallan algunas funciones para el manejo de cadenas:
  • 102. Funciones echo y print() Estas dos instrucciones se utilizan para mostrar una o varias cadenas en la pantalla. Generalmente se ha venido utilizando la instrucción echo en los ejemplos realizados, pero también es posible utilizar la función print(), con la diferencia de que en esta función, la cadena a imprimir debe estar entre paréntesis, cosa que con la instrucción echo, no es necesario. Ejemplo: echo $Nombre; print ($Domicilio); Funcion: printf() Esta función es similar a la función print(), pero permite dar un cierto formato a lo que se desea imprimir. La Sintaxis de esta función es: printf("Formato", $cadena); Formato debe ser una letra permitida. $cadena es la variable a imprimir.
  • 103. • Los tipos de formatos permitidos, son los siguientes: Letra de Formato Especificación de lo que realiza B Expresa a la variable como número binario C Expresa a la variable como carácter ASCII d Expresa a la variable como número decimal f Expresa a la variable como número de punto flotante o Expresa a la variable como número octal s Expresa a la variable como un string (cadena) x Expresa a la variable como número hexadecimal en minúsculas X Expresa a la variable como número hexadecimal en Mayúsculas
  • 104. Para establecer que la letra es un formato de impresión, se debe colocar delante de ella el signo de porcentaje (%). Ejemplo 1: Este ejemplo almacena el valor del sueldo en la variable $Sueldo, y luego lo muestra de diferente forma: <Html> <Title> Ejemplo1-Printf.php </Title> <Body> <?Php $Sueldo = 2947.3262; printf($Sueldo . "<Br>"); printf("%f", $Sueldo); printf("<Br>"); printf("$ %7.2f",$Sueldo); printf("<Br>"); ?> </Body> </Html>
  • 105.
  • 106. • • • Ejemplo 2: Asignar a una variable, una determinada cadena y posteriormente mostrarla en todos los formatos descriptos. <Html> <Title> Ejemplo2-Formatos.php </Title> <Body> <?Php $cadena = "76.9 minutos"; printf("Resultado en formato binario: "); printf("%b", $cadena); printf("<Br>"); printf("Resultado según la tabla ASCII: "); printf("%c", $cadena); printf("<Br>"); printf("Resultado en formato decimal: "); printf("%d", $cadena); printf("<Br>"); printf("Resultado en formato float: "); printf("%f", $cadena); printf("<Br>"); printf("Resultado en formato octal: "); printf("%o", $cadena); printf("<Br>"); printf("Resultado en formato string: "); printf("%s", $cadena); printf("<Br>"); printf("Resultado en formato hexadecimal (minúscula): "); printf("%x", $cadena); printf("<Br>"); printf("Resultado en formato hexadecimal (mayúscula): "); printf("%X", $cadena); ?> </Body> </Html>
  • 107.
  • 108. Funcion: sprintf() Es similar a la función printf, con la diferencia de que no imprime el resultado en el navegador, sino que se utiliza para almacenar una cadena en una variable. La sintaxis es la siguiente: variable = sprintf ("Formato", cadena); En este caso, sprintf, devuelve en la variable el valor de la cadena transformado de acuerdo al Formatoindicado. El Formato puede ser cualquier letra de las descriptas para la función printf.
  • 109. Ejemplo 3 IDEM al ejemplo 2 utilizando sprintf. <Html> <Title> Ejemplo3-Sprintf.php </Title> <Body> <?Php $cadena = "76.9 minutos"; // Transformacion a binario $variable = sprintf("%b<Br>",$cadena); // Transformación a caracteres $variable .= sprintf("%c<Br>", $cadena); // Transformación a decimal $variable .= sprintf("%d<Br>", $cadena); // Transformación a float $variable .= sprintf("%f<Br>", $cadena); // Transformación a octal: "); $variable .= sprintf("%o<Br>", $cadena); // Transformación a string $variable .= sprintf("%s<Br>", $cadena); // Transformación a hexadecimal (minúscula) $variable .= sprintf("%x<Br>", $cadena); // Transformación a hexadecimal (mayúscula) $variable .= sprintf("%X<Br>", $cadena); echo $variable; ?> </Body> </Html>
  • 110. Funcion: strtoupper() Esta función permite transformar una cadena a mayúsculas. Ejemplo 4: Almacenar una frase en una variable y posteriormente mostrarla en mayúsculas. <Html> <Title> Ejemplo4-StrToUpper.php </Title> <Body> <?Php $frase = "Hoy es un día soleado."; echo "<H3>"; echo "Frase ingresada: " . $frase; echo "<Br><Br>"; echo "Frase en Mayúsculas: " .strtoupper($frase); ?> </Body> </Html>
  • 111. Funcion: strtolower() Es la inversa de la función anterior, es decir que transforma una cadena en minúsculas. Ejemplo 5: Almacenar una frase en una variable y posteriormente mostrarla en minúsculas. <Html> <Title> Ejejemplo5-StroLower.php </Title> <Body> <?Php $frase = "ESTE APUNTE ES DE PHP"; echo "<H3>"; echo "Frase ingresada: " . $frase; echo "<Br><Br>"; echo "Frase en Minúsculas: " .strtolower($frase); ?> </Body> </Html>
  • 112. Funcion: ucwords() Convierte el primer carácter de cada palabra en mayúsculas. Ejemplo 6: Inicializar una variable con el nombre y apellido de una persona y posteriormente mostrarla con sus primeros caracteres en mayúsculas. <Html> <Title> Ejemplo6-UcWords.php </Title> <Body> <?Php $nombre = "marcelorodriguez"; echo "<H3>"; echo "Cadena original: " . $nombre; echo "<Br><Br>"; echo "Cadena convertida: " .ucwords($nombre); ?> </Body> </Htm>
  • 113. Funcion: trim() Mediante esta función, se eliminan los espacios en blanco al inicio y al final de una cadena.. También elimina los caracteres de control: “n”, “r”, “t” y “0”. Ejemplo 7: <Html> <Title> Ejemplo7-Trim.php </Title> <Body> <?Php $profesion = "nrtTécnico Constructor nn"; echo "<H3>"; echo "Cadena original: " . $profesion; echo "<Br><Br>"; echo "Cadena convertida: " .trim($profesion); ?> </Body> </Html> Al ejecutar este ejemplo, no se observarán diferencias al visualizarlo en el navegador, pero si se observarán diferencias si se visualiza el código generado por el programa.
  • 114. Funciones: ltrim() y chop() Funcionan de forma similar a trim(), con la diferencia de que ltrim(), elimina espacios en blanco al principio de la cadena, mientras que chop(), elimina espacios en blanco al final de la cadena.
  • 115. Funcion: strlen() Esta función permite obtener la longitud de una cadena de caracteres pasada como parámetro. Ejemplo 8: Almacenar en una variable una cadena de caracteres y luego mostrar la cantidad de caracteres que la constituyen. <Html> <Title> Ejemplo8-Strlen.php </Title> <Body> <?Php $cadena = "PHP es un lenguaje de programación."; echo "<H3>"; echo "Cadena : " . $cadena; echo "<Br><Br>"; echo "Cantidad de caracteres: " .strlen($cadena); ?> </Body> </Html>
  • 116. Funcion: chr() • • • La función chr() recibe un valor numérico y devuelve el carácter de la tabla ASCII que le corresponde Ejemplo 9: Imprimir la tabla ASCII desde el código 30 en adelante. • <Html> <Title> Ejemplo9-Chr.php </Title> <Body> <?Php echo "<H3>"; echo "<Table border=2 align=Center width=100%>"; $c=30; for ($i=1; $i<24; $i++) { echo "<tr>"; for ($j=1; $j<=10; $j++) { echo "<th align=Center>" . $c . "</th>"; echo "<td align=Center>". chr($c) . "</td>"; $c++; } echo "</tr>"; } echo "</Table>" ; ?> </Body> </Html>
  • 117. Funcion: ord() Es la función inversa a la chr(), es decir que dado un carácter como parámetro, la función ord(), devuelve el valor del código que le corresponde. Ejemplo 10: Asignar a una variable un carácter y posteriormente mostrar el código que le corresponde: <Html> <Title> Ejemplo10-Ord.php </Title> <Body> <?Php echo "<H3>"; $c = "L"; echo "El caracter: $c tiene como código: " .ord($c); ?> </Body> </Html>
  • 118. Funcion: number_format() La función number_format permite dar un formato deseado a un valor numérico determinado. La sintaxis es la siguiente: number_format(variable Numerica, Cantidad De Decimales, “Separador de decimales”, “Separador de Miles”) ; Ejemplo 11: Dado un cierto valor numérico, imprimirlo con dos decimales separados por una coma, mostrando también los miles separados por puntos. <Html> <Title> Ejercicio11-NumberFormat.php </Title> <Body> <?Php echo "<H3>"; $valor = 8546921546.4875; echo "El valor corresponde a: "; echo number_format($valor,2,",","."); ?> </Body> </Html>
  • 119. Funcion: substr() • • • • • Permite extraer una porción de texto de la cadena pasada como parámetro. Su sintaxis es la siguiente: substr(cadenaOriginal, lugarInicial, cantidadDeCaracteres) cadenaOriginal: Es la cadena de donde se extraerá el texto. lugarInicial: Representa la posición desde donde se comenzarán a extraer el texto. CantidadDeCaracteres: Indica cuantos caracteres se extraerán. (Opcional). Ejemplo 12: <Html> <Title> Ejemplo12-Subsrt.php </Title> <Body> <?Php echo "<H3>"; $cadena = "Alicia Martinez"; echo "Cadena Original: " . $cadena; echo "<Br>"; echo "Tres primeros caracteres: "; echo substr($cadena,0,3); echo "<Br>"; echo "Seis caracteres a partir del octavo: "; echo substr($cadena,7,6); echo "<Br>"; echo "Cuatros caracteres comenzando desde el último: "; echo substr($cadena,-4); ?> </Body> </Html>
  • 120. Funcion: ereg() Permite buscar una cadena dentro de otra cadena, devolviendo un valor verdadero si encontró coincidencia, de lo contrario, devuelve falso. Ejemplo 13: <Html> <Title> Ejemplo13-Erg.php </Title> <Body> <?Php echo "<H3>"; $cadena = "Carlos Javier Robles"; echo "Cadena Original: " . $cadena; echo "<Br>"; $clave = "Javier"; echo "<Br>"; if (ereg($clave, $cadena)) { echo "La palabra $clave existe en $cadena"; } else { echo "La palabra $clave No existe es $cadena"; } ?> </Body> </Html>
  • 121. Funcion: eregi() Es similar a la función anterior, con la diferencia de que eregi() ignora las mayúsculas y minúsculas. Funcion: ereg_replace() Esta función ereg_replace permite buscar una cadena dentro de otra y reemplazar la cadena encontrada con una cadena definida. La sintaxis es la siguiente: nuevaCadena = ereg_replace(claveBuscada, nuevoDato, cadenaOriginal); Ejemplo 14: En el ejemplo anterior, buscar y reemplazar el nombre Javier por Martín. <Html> <Title> Ejemplo14-EregReplace.php </Title> <Body> <?Php echo "<H3>"; $cadena = "Carlos Javier Robles"; echo "Cadena Original: " . $cadena; echo "<Br>"; $clave = "Javier"; $nuevoNombre = "Martín"; $nuevaCadena = ereg_replace($clave, $nuevoNombre, $cadena); echo "<Br>"; echo "Nuevo Nombre: " . $nuevaCadena ; ?> </Body> </Html>
  • 122. Funcion: eregi_replace() Es similar a la función anterior, con la diferencia de que eregi_replace() no tiene en cuenta las mayúsculas y minúsculas. Funcion: split() Permite separar una cadena de caracteres, pasándole como parámetro el carácter que actuará como separador. La cadena separada es almacenada en un arreglo. La sintaxis es la siguiente: vector = split(caracter, cadena, cantidadDeElementos) carácter: Es el carácter que actuará como separador. cadena: Es la cadena original. cantidadDeElementos: Es opcional, y determina cuantos elemento contendrá el vector generado. En caso de no indicarse, ajusta la cantidad automáticamente. Ejemplo 15: Dada una cadena de caracteres, generar un arreglo (vector) que contenga como elementos a cada una de las palabras de la cadena. <Html> <Title> Ejemplo15-Split.php </Title> <Body> <?Php echo "<H3>"; $cadena = "El invierno es muy frío"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; $separador = " "; $v = split($separador, $cadena); $cantidad = count($v); for ($i=0; $i<$cantidad; $i++) { echo "Elemento [$i]: $v[$i] <Br>"; } ?> </Body> </Html> Ejemplo 16: Idem al anterior, pero guardando únicamente tres elementos en el vector. <Html> <Title> Ejemplo16-Split.php </Title> <Body> <?Php echo "<H3>"; $cadena = "El invierno es muy frío"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; $separador = " "; $v = split($separador, $cadena, 3); $cantidad = count($v); for ($i=0; $i<$cantidad; $i++) { echo "Elemento [$i]: $v[$i] <Br>"; } ?> </Body> </Html>
  • 123. Funcion: ucfirst() Permite pasar a mayúscula el primer carácter de una cadena. La función ucfirst() es útil cuando se desea imprimir nombres propios. Ejemplo 17: <Title> Ejemplo17-Ucfirst.php </Title> <Body> <?Php echo "<H3>"; $cadena = "alejandra"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; echo "Cadena procesada: " .ucfirst($cadena); echo "<Br><Br>"; ?> </Body> </Html>
  • 124. Funcion: ucwords() Permite cambiar a mayúsculas el primer carácter de todas las palabras de una cadena. Ejemplo 18: <Title> Ejemplo18-Ucwords.php </Title> <Body> <?Php echo "<H3>"; $cadena = "javier es buen alumno"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; echo "Cadena procesada: " .ucwords($cadena); echo "<Br><Br>"; ?> </Body> </Html>
  • 125. Funcion: strcmp() Compara dos string (cadenas). Ejemplo: strcmp(<string1>,<string2>) Retorna cero si las dos cadenas son exactamente iguales. Retorna mayor a cero si <string1> es mayor alfabéticamente. Retorna menor a cero en caso contrario $cadena1="lorena"; $cadena2="analia"; if (strcmp($cadena1,$cadena2)>0) { echo $cadena1." es mayor alfabéticamente que ".$cadena2; } De todos modos para comparar si dos string son iguales está permitido utilizar el operador == if ($cadena1=="lorena") { echo 'La variable $cadena1 almacena la cadena lorena'; } Se imprime: La variable $cadena1 almacena la cadena lorena (Recordar que si utilizamos las comillas simples, las variables no se sustituyen por el contenido de las mismas) La función strcmp es sensible a mayúsculas y minúsculas, si queremos ver si dos cadenas son iguales insensible a mayúsculas y minúsculas debemos emplear la función strcasecmp.
  • 126. Funcion: strpos() • • • • • • • Esta función devuelve la posición que se encuentra en una cadena fuente una cadena clave. La sintaxis es la siguiente: $Pos = strpos(cadenaFuente, cadenaClave, comienzo); cadenaFuente: Es la cadena que será recorrida. cadenaClave: Es la cadena buscada. comienzo: Es opcional, y determina de que posición comenzará a explorar. Si se ignora, comienza desde el principio, posición cero. Ejemplo 19: Almacenar en una cadena, una frase y luego una palabra clave a buscar su posición. Imprimir la posición que le corresponde. <Html> <Title> Ejemplo19-Strpos.php </Title> <Body> <?Php echo "<H3>"; $cadena = "En un ecosistema conviven diversos tipos de organismos"; $clave = "eco"; echo "Cadena Original: " . $cadena; echo "<Br><Br>"; echo "Clave buscada: " . $clave; echo "<Br><Br>"; $p = strpos($cadena, $clave); if ($p!="") { echo "La clave se encuentra en la posición: $p" ; } else { echo "No existe la clave en la cadena fuente"; } ?> </Body> </Html>
  • 127. VARIABLES EN PHP • Las variables en PHP son representadas con un signo de dólar ($) seguido por el nombre de la variable. El nombre de la variable es sensible a minúsculas y mayúsculas. Es decir, las siguientes declaraciones de variables son distintas entre ellas: • $variable, $Variable, $variAble, $VariAble, etc. representan a distintas variables. • Recordar que una variable es un espacio de la memoria del ordenador (en este caso del servidor) a la que asignamos un contenido que a grandes rasgos puede ser un valor numérico (sólo números, con su valor de cálculo) o alfanumérico (sólo texto o texto con números). • • Para declarar un nombre de variable válido, éste tiene que empezar con una letra (o si no empieza con una letra, tendrá que hacerlo con un carácter de subrayado), seguido de cualquier número de letras, números y caracteres de subrayado. Veamos algunos ejemplos:
  • 128. Posible nombre de variable Validez $4variable Nombre de variable inválido. $_4variable Nombre de variable válido. $variable4 Nombre de variable válido. $otra Nombre de variable válido. $1_otra Nombre de variable inválido. $variable_de_nombre_muy_largo Nombre de variable válido. $ABC Nombre de variable válido. $AB C Nombre de variable inválido. $A_y_B_x_C Nombre de variable válido.
  • 129. Cuando el intérprete PHP detecta un error en la sintaxis al declarar una variable, cuando tratamos de accecer a la página php nos aparecerá un mensaje de error. Por ejemplo si en un archivo php incluimos una línea como $ A B C = 5; donde el nombre de variable es inválido ya que tiene espacios intermedios, nos aparecerá un mensaje de error: Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE or '$' in /home/miraiz/domains/midominio.com/public_html/prueba.php on line 3. Este mensaje nos informa de que hay un problema en el archivo php y nos indica la línea donde el intérprete considera que está el problema.
  • 130. DIFERENCIAS ENTRE LOS OPERADORES DE ASIGNACIÓN E IGUALDAD • • Asignación (=) • • El operador de asignación es "=". Se podría pensar que es como un "igual a". No lo es. El operador igual en programación no tiene el mismo sentido que en matemáticas. En programación, significa que el valor de la expresión de la derecha se establece en el operando de la izquierda. • • Veamos un ejemplo donde todo quedará mucho más claro.
  • 131. <?php $a = 3; // asignamos el valor 3 a la variable $a $b = "cadena"; // asignamos el valor "cadena" a la variable $b ?>
  • 132. Igualdad (==) El comparador de igualdad es ==. Como su propio nombre indica, sirve para comparar dos valores o variables y no para asignar valores. Este operador devuelve el resultado de la operación lógica de 'igual a tal y como podemos apreciar en el siguiente ejemplo.
  • 133. <?php $a = 3; $b = 3; $a == $b; // El resultado de la comparación es TRUE porque $a es igual a $b $a = 3; $b = 4; $a == $b; // El resultado de la comparación es FALSE porque $a no es igual a $b ?>
  • 134. TIPOS DE DATOS En PHP no es necesario indicar el tipo de datos al que pertenece una variable, sino que son asumidos directamente por el intérprete PHP, que es el encargado de interpretar el código. Ahora veremos en una tabla los distintos tipos de datos que se pueden usar en PHP.
  • 135. TIPO DE DATO DEFINICIÓN Los integers, o enteros, pueden tener distintos valores numéricos enteros que se expresan con diferentes notaciones. $variable = 18; // Número entero positivo integer $variable = -18; // Número entero negativo $variable = 0x12; // Notación hexadecimal, es igual a 18 decimales float o double Este tipo de datos son los números de punto flotante a los que normalmente llamamos “números decimales”, por ejemplo, 9.876. La sintaxis para utilizarlos es bastante simple: $variable = 9.876; string El tipo de datos string, también conocido como cadena de caracteres, se expresa con la siguiente sintaxis: $variable = "Yo soy una cadena"; Se trata de un tipo lógico. Sus posibles valores son TRUE o FALSE. boolean $variable = true; $variable = false;
  • 136. INSTRUCCIÓN ECHO Esta instrucción PHP hace que se muestre por pantalla un texto, una variable, o una combinación de texto y variables. Crea un archivo php con el siguiente código, ponle un nombre como usoDeEcho.php y súbelo al servidor.
  • 137. <?php echo "salida por pantalla. "; $a = 5; echo $a; echo " El valor de a es $a."; ?>
  • 138. • Se define a un arreglo como un grupo de elementos relacionados entre sí por medio de índices. Los arreglos pueden ser de una o más dimensiones, los de una dimensión, son llamados comúnmente"vectores". • • • • • • • • • • A diferencia con el lenguaje C, en PHP, un vector puede tener elementos de distintos tipos. Para hacer referencia a un elemento del vector, se utiliza un índice, que indica la dirección en donde se encuentra un determinado valor. El índice en un arreglo comienza siempre por cero. (Mas adelante se verá que el índice de un vector, no necesariamente debe ser un número entero, sino que también puede ser un texto). EjemploPráctico1: Almacenar los nombres de los días de la semana en un vector y luego imprimirlos uno debajo de otro. <Html> <Title> Ejmeplo1 </Title> <Body> <?PHP // Inicializacion del Vector $dia[0] = "Domingo"; $dia[1] = "Lunes"; $dia[2] = "Martes"; $dia[3] = "Miércoles"; $dia[4] = "Jueves"; $dia[5] = "Viernes"; $dia[6] = "Sábado"; // Impresion del vector for($i=0; $i<7; $i++) { echo ($dia[$i] . "<Br>") ; } ?> </Body> </Html> Comentario: Se inicializa el vector indicando el número que le corresponde a cada posición entre corchetes [ ] y asignando el valor que se desea almacenar en dicha posición. Un vector, en PHP, puede contener elementos de distintos tipos de datos, es decir, un elemento puede ser un número entero, otro una cadena, otro un número con decimales, etc.Un modelo de este caso se puede observar en el siguiente ejemplo.
  • 139. Ejemplo Práctico 2: Almacenar en un vector los datos personales de un empleado y luego mostrarlos en pantalla. <Html> <Title> Ejemplo 2 </Title> <Body> <?PHP // Inicializacion del Vector $Empleado[0] = 4371; $Empleado[1] = "Martinez Leandro"; $Empleado[2] = "27.643.742"; $Empleado[3] = 1429.54; $Empleado[4] = "Arquitecto"; // Impresion del vector echo ("Legajo: " . $Empleado[0] . "<Br>"); echo ("Nombre: " . $Empleado[1] . "<Br>"); echo ("DNI : " . $Empleado[2] . "<Br>"); echo ("Sueldo: " . $Empleado[3] . "<Br>"); echo ("Profesion: " . $Empleado[4] . "<Br>"); ?> </Body> </Html> Existen varias maneras de inicializar vectores en PHP. A continuación se describen algunos ejemplos. Pais[] = "Argentina"; Pais[] = "Uruguay"; Pais[] = "Brasil"; Pais[] = "Chile"; En este caso se observa que no es necesario colocar el número de índice, ya que PHP lo asigna automáticamente para cada valor, comenzando siempre desde cero. Otra forma de inicializar un vector, es a través del constructor array, como se muestra en el siguiente ejemplo: Pais =array("Argentina","Uruguay","Brasil","Chile"); También se puede definir un arreglo asociando explícitamente el índice a un valor, como se indica a continuación: $Frutas = array(0 => "Manzana", 1 => "Naranja", 2 => "Pera", 3 => "Ananá"); Además, los índices, pueden no ser obligatoriamente consecutivos, ni tampoco comenzar de cero, ni tampoco ser un número. (Ver ejemplos más adelante).Se puede conocer la cantidad de elementos que tiene un vector, para ello se utiliza la funcióncount(vector). Esta función acepta como parámetro el nombre del vector y devuelve la cantidad de elementos del mismo.
  • 140. Ejemplo Práctico 3: Cargar en un vector artículos de librería y luego imprimir la cantidad de ellos. <Html> <Title> Ejemplo 3 </Title> <Body> <?PHP // Inicializacion del Vector $Articulos =array("Lápis","Goma","Hoja","Tinta"); // Impresion del vector $Cantidad = count($Articulos); echo ("La cantidad de Artículos son: " . $Cantidad); ?> </Body> </Html> Un vector en PHP puede tener elementos en cualquier posición, por lo tanto, se puede cargar un vector con posiciones no consecutivas, sino en forma totalmente aleatoria. Para poder recorrer este tipo de vectores se utilizan las funciones next() y prev().
  • 141. Ejemplo Práctico 4: Cargar los nombres de personas en cualquier posición. <Html> <Title> Ejemplo 4 </Title> <Body> <?PHP // Inicializacion del Vector $Nombre[10] = "Marcelo"; $Nombre[20] = "Alicia"; $Nombre[15] = "Alejandra"; $Nombre[35] = "Mario"; $Nombre[12] = "Alberto"; // Impresion del vector reset($Nombre); echo ("<H2>" . "Vector de Nombres"); echo ("<H3>" . "<Hr>"); do { // Buscar Posicion especificada $i = key($Nombre); // Buscar Contenido en esa posicion $Valor = current($Nombre); echo ("Posición: " . $i . " - "); echo ("Contenido: " . $Valor); echo ("<Br>"); } while (next($Nombre)); ?> </Body> </Html> Comentario: Aquí se observa que los nombres fueron cargados en posiciones aleatorias. Con la funciónreset(), se logra llevar el puntero al principio del vector y para poder encontrar la posición de un elemento se utiliza la función key(), la cual acepta como parámetro el vector y devuelve la posición. Luego para poder obtener el contenido en esa posición se utiliza la función current(), que acepta el vector y devuelve el valor almacenado. La función next() avanza el puntero a la posición siguiente, si se ha llegado al final del vector, esta función devuelve false. En caso de querer imprimir los datos del vector en forma invertida, solamente se debe cambiar la instrucción reset($Nombre) por: end($Nombre) y la instucción: while (next($Nombre)) por : while (prev($Nombre)). Como se dijo anteriormente, las funciones next() y prev() devuelven false al llegar al final y principio del vector respectivamente, pero tambien devuelven false cuando el valor de un elemento es cero. La función end() lleva el puntero al final del vector y con la función prev(), se retrocede el puntero hasta el anterior. Cuando se llegó al principio del vector, la función prev() devuelve false y sale del ciclo. Otra forma de recorrer un vector de estas característica es utilizando las funciones list() y each(), de la siguiente manera:
  • 142. Ejemplo Práctico 5: • • • • • • • • • Cargar Legajos de personas con sus respectivos Nombres <Html> <Title> Ejemplo5.php </Title> <Body> <?Php // Inicializacion del Vector $Nombre[100] = "Javier"; $Nombre[200] = "Cintia"; $Nombre[150] = "Ricardo"; $Nombre[350] = "Raúl"; $Nombre[120] = "Guillermo"; // Impresion del vector reset($Nombre); echo "<H2>"."Vector de Nombres"; echo "<H3>"."<Hr>"; while (list($i,$Valor)=each($Nombre)) { echo "Legajo: " . $i ." - "; echo "Nombre: " . $Valor; echo "<Br>"; } ?> </Body> </Html> La función list(), almacena en los parámetros ($i, $Valor), el índice y el valor devuelto por la función each(), que tiene como parámetro el vector puesto en juego. Además, la función list(), avanza automáticamente el puntero al siguiente elemento del vector, y en caso de que el vector haya llegado al final, la función devuelve false. Vectores con índice de Texto Un vector en PHP, no solamente debe contener índice numérico, sino también, puede ser una letra o un texto.
  • 143. • Ejemplo Práctico 6: • Cargar en un vector algunas ciudades del mundo, de manera que el índice del vector contenga los tres primeros caracteres de la ciudad almacenada.
  • 144. <Html> <Title> Ejemplo 6.php </Title> <Body> <?Php // Inicializacion del Vector $Ciudad = array("Par" => "Paris", "Lon" => "Londres", "Ate" => "Atenas", "Ber" => "Berlin", "Lim" => "Lima"); echo "<H2>"."Vector de Ciudades"; echo "<H3>"."<Hr>"; while (list($i,$Valor)=each($Ciudad)) { echo "Posición: " . $i ." - "; echo "Contenido: " . $Valor; echo "<Br>"; } ?> </Body> </Html>
  • 145. •Las variables a nivel de sesión. •Guardar información en el equipo cliente: cookies. •La QueryString •2.3 Acceso a datos •2.3.1 Introducción al acceso a datos •El acceso a datos desde sitios web. •Conectar con Microsoft SQL. •Conectar con Microsoft Access. •Mostrar información de una base de datos en un formulario web. •2.3.2 Manejo de datos •Conectar a una base de datos •Mostrar datos en un formulario •Crear formularios de entrada •Cadenas de conexión •Actualizar datos mediante controles •2.3.3 XML •¿Qué es XML? •Accesar datos en XML •3. Tópicos avanzados •3.1 Master Pages. •3.2 Seguridad •Principios básicos. •El acceso anónimo. •Autentificación •La creación de usuarios y roles. •Las normas de acceso. •Controles web para la autentificación.
  • 146. •3.3 Web Parts. •Introducción a las ASP.NET Web Part. •Crear una página con Web Parts. •Cambiar la apariencia y la disposición en tiempo de ejecución. •Agregar Web Parts en tiempo de ejecución. •3.4 Manejo de imágenes. •El control FileUpload