Anda di halaman 1dari 32

Programacin Web PHP

con MySQL
Contenido del
Bloque 1
Conceptos generales e instalacin
ESPEINNOVATIVA E.P.

Capacitacin Virtual

La mejor opcin para su crecimiento profesional sin lmites de tiempo y


espacio.

Coordinacin:
Ing. Mnica Aguirre, MSc.

Diseo Pedaggico - Instruccional:


Lic. Mauricio Hidalgo, MSc

Diseo de Contenidos: 2
Ing. David Badillo

Correccin idiomtica
Lic. Ana Maldonado

Revisin y Aprobacin:
Ing. Mnica Aguirre, MSc.

Sangolqu, Ecuador
Tabla de contenido

Unidad 1: Introduccin a tecnologas web ................................................................4


1.1. Protocolos HTTP ..................................................................................................... 4
1.2. Qu es un servidor web?................................................................................... 4
1.3. Qu es un cliente web? .................................................................................... 5
1.4. Qu es un Java Script?...................................................................................... 5
1.5. Qu CSS? ............................................................................................................. 6
Unidad 2: Introduccin a PHP .......................................................................................7
2.1. Definicin ............................................................................................................... 7
2.2. Por qu usar PHP? .............................................................................................. 7
2.3. Historia y situacin actual.................................................................................... 9
Unidad 3: Instalacin y Configuracin de PHP .........................................................11
3.1. Plataformas y servidores web soportados ...................................................... 11
3.1.1. WAMP (Windows, Apache, MySQL y PHP) .............................................. 11
3.1.2. LAMP (Linux, Apache, MySQL y PHP) ....................................................... 11
3.2. Instalacin de Servidor LAMP con CentOS..................................................... 13
3.2.1. Consideraciones generales ...................................................................... 13 3
3.2.2. Instalacin del servidor web Apache ..................................................... 14
3.2.3. Instalacin de PHP ...................................................................................... 15
3.2.4. Instalacin de MySQL y phpAyAdmin ..................................................... 15
3.3. Instalacin de Servidor WAMP .......................................................................... 16
Unidad 4: Programacin en entornos Web ..............................................................18
4.1. Diferencias entre tecnologas en cliente frente a tecnologas en servidor18
4.2. Creacin de una pgina PHP .......................................................................... 19
4.3. Interactividad con los usuarios ......................................................................... 21
4.3.1. Manejo de formularios .............................................................................. 23
4.3.2. Mtodo GET ................................................................................................. 23
4.3.3. Mtodo POST ............................................................................................... 24
4.4. Procesar datos de un formulario ...................................................................... 25
4.5. Paso de variables entre script utilizando cadenas de peticin .................. 26
4.6. Comentarios en el cdigo ................................................................................ 28
4.7. Secuencias de escape ..................................................................................... 29
Unidad 1: Introduccin a tecnologas web

1.1. Protocolos HTTP

HTTP (Protocolo de trasferencia de hypertexto), desde inicio de los aos 90, es


el protocolo ms usado de internet, esto quiere decir que existen otros
protocolos que se usan en internet como son: SMTP (correo electrnico), FTP
(Para servidor de archivos).

El protocolo HTTP, tiene el propsito de trasmitir archivos HTML entre el servidor


web (llamado httpd en plataformas Linux) y clientes web (los navegadores
como: FireFox, Internet Explorer, Chrome, entre otros).

Para nosotros poder observar las pginas web en nuestro computador, el


proceso es el siguiente:

El usuario teclea la URL (localizador de recursos uniforme) del sitio que 4


desea visitar por ejemplo:http://www.google.com.
Esta solicitud es recibida por el servidor web (httpd) y le responde enviando
un archivo que contiene cdigo HTML
El archivo con contenido HTML, es interpretado por el navegador y
mostrado en la pantalla

Como podemos ver el protocolo HTTP es de suma importancia para el uso del
navegacin web, ms adelante ampliar los conocimientos sobre este
protocolo segn sea necesario.

1.2. Qu es un servidor web?

Un servidor web, es un programa que se encarga de procesar las peticiones


que son realizadas por el protocolo HTTP; para ello utiliza un puerto de
comunicacin de red que por defecto es el 80.
Existe una gran variedad de servidores Web en el mercado, sin embargo el
servidor ms popular en la web es el Apache (httpd); a continuacin una
lista de servidores ms populares en internet:

Apache (multiplataforma)
Internet Information Server (windows)
Apache Tomcat (para aplicaciones con Java)
Lighttpd (servidor web muy liviano)

1.3. Qu es un cliente web?

Llamado como navegador web, es un programa que se encuentra al lado


del cliente y que se encarga de realizar peticiones al servidor web. Este
programa es el encargado de interpretar el cdigo HTML que le provee el
servidor y presentarlo al usuario.

Dentro de los navegadores ms usados tenemos:


5

Google Chrome
Firefox
Opera
Internet explorer
Safari
Navegadores de dispositivos mviles como: Android, Iphone, Blackberry
entre otros

1.4. Qu es un Java Script?

JavaScript, es un lenguaje de programacin que se ejecuta al lado del cliente


(navegador) y el cual ofrece muchas funcionalidades de utilidad al momento
de disear aplicaciones web, por ejemplo:

Controla eventos del navegador. Esto quiere decir que mediante este
lenguaje puedo capturar eventos que se realizan en el navegador, de tal
forma que: Cuando damos clic, cuando pasamos el cursor del mouse por
alguna parte o cuando cambiamos de campo en un formulario entre otros
Se realizan validaciones de campos de formulario, con esto evitamos que
se enven datos errneos al servidor.
Tecnologas avanzadas en la web. Es necesario para el uso de AJAX o
Web services

Para este curso virtual no es obligatorio que conozcan esta tecnologa; son
embargo, es muy recomendable que aprendan, para poder tener mayor
flexibilidad al momento de construir aplicaciones web.

1.5. Qu CSS?

Son hojas de estilo en cascada y es un lenguaje para definir la presentacin de


documentos HTML. Mediante este lenguaje podemos construir sitios muy
6
atractivos para el usuario.

Las hojas de estilo son interpretadas al igual que el HTML y el Java Script, al
lado del cliente, por lo que el navegador es el encargado de mostrar segn el
estilo usado en el HTML.

La principal ventaja es que podemos obtener sitios web muy vistosos y de


calidad; sin embargo, existe una desventaja considerable, que no todos los
navegadores interpretan de manera exacta.

Para el curso no es obligatorio que tengan conocimientos de CSS, sin


embargo, si desean tener un sitio atractivo, recomiendo investigar ms
detalladamente sobre este tema.
Unidad 2: Introduccin a PHP

2.1. Definicin

Del acrnimo "PHP: Hypertext Preprocessor", es un lenguaje interpretado


embebido en pginas HTML. La mayora de su sintaxis es similar a C, Java y
Perl, con solamente un par de caractersticas PHP especficas. La meta de este
lenguaje es permitir escribir a los creadores de pginas Web, pginas
dinmicas de una manera rpida y fcil.

PHP, a diferencia de JavaScript, se ejecuta en el servidor. La funcionalidad de


PHP es similar a la de otros productos como Java (jsp) o Microsoft ASP.

2.2. Por qu usar PHP?

El lenguaje PHP es el mdulo ms popular para el servidor Web Apache, existe


una comunidad muy grande de desarrolladores, por lo que existe mucha 7

documentacin en internet y es muy fcil de encontrar respuestas a


problemas con este lenguaje. Adems se han publicado ms de 100 libros
sobre PHP en diferentes lenguas y hay ms en preparacin.

Una larga lista de sitios Web de gran envergadura utiliza PHP, as como
centenares de miles de pequeos a medianos sitios web.

Un servidor web hoy en da no es slo un software que proporciona pginas de


contenido esttico. Debe ser capaz de almacenar y obtener datos, procesar
peticiones de los usuarios y crear documentos dinmicos. Para este propsito
hay muchas soluciones, algunas ms generales que otras.

PHP nos proporcionar las siguientes ventajas:

1. Podemos proporcionar los mismos contenidos independientemente de


cambios en el hardware o en el software. PHP funciona en varios sistemas
operativos (Microsoft Windows, muchas variantes de UNIX como Linux,
FreeBSD, Solaris, etc.), y en diferentes arquitecturas (Intel, PPC, Sparc,...).
2. Funciona en diferentes servidores web de diferentes sistemas operativos.
Podemos instalar PHP con Apache, Lighttp, Hiawhata entre otros.
3. Nos permite reducir el coste de licencias. PHP es software gratis, se lo
pueden descargar de www.php.net.
o No necesita de una mquina extremadamente potente para
funcionar, de hecho funciona en mquinas con recursos limitados sin
problema.
4. PHP es software libre por lo que si este tiene algn error, disponemos del
cdigo fuente para poder solucionarlo, sin tener que esperar a que el
fabricante del producto nos solucione el problema. Si PHP no proporciona
una funcionalidad, podemos aadrsela.
5. PHP fue diseado para trabajar en aplicaciones web, por lo que incluye
muchas libreras de utilidad que permiten crear aplicaciones diversas. Estas
libreras por ejemplo permiten: crear web services, parsear XML, envo de e-
mails, generar PDFs, manejo de imgenes, manejo de archivos y mucho
8
ms.
6. Desde la versin 5 de PHP, este es un lenguaje que soporta Programacin
Orientada a Objetos-POO.
7. PHP es capaz de conectarse a un sin nmero de base de datos de manera
nativa (mdulos propios de PHP), entre algunas son: MySQL,
PostgreSQL,mSQL, Oracle, dbm, FilePro, Informix, entre otras.
8. Si se necesita soporte especializado y tcnico para grandes proyectos, la
empresa Zend Technologies, que patrocina a PHP, oferta versiones
comerciales que pueden ajustarse a sus necesidades.

Hay otros lenguajes que proporcionan las mismas caractersticas (ms o


menos), como Perl o Python que unen tambin independencia de plataforma
y son open source.

Son grandes lenguajes. Sin embargo, PHP ha sido diseado para la web, y es
en ese campo donde sobrepasa a los dems. Aun as, si fuera por velocidad
hay ms soluciones. Pero adems, PHP es simple, robusto, tiene conectividad
con muchos servidores de bases de datos, y es fcil de aplicar.
Hay multitud de aplicaciones web realizadas con PHP:

Aplicaciones de gestin documental


o Midgard
Sistemas de gestin de errores
o Keystone
Aplicaciones de comercio electrnico
o FishCartSQL
Groupware
o eGroupWare
Aplicaciones de noticias y foros
o PHPNuke
o Phorum
Libreras
o PHPlib

9
Existen muchos CMS basados en PHP:

Joomla
Drupal
WordPress
Moodle (sistema para educacin virtual)

2.3. Historia y situacin actual

En 1994, Rasmus Lerdorf, desarroll una serie de scripts en Perl para su pgina
web personal. Poco a poco, la gente fue interesndose por dichos scripts y
fueron distribuidos con el nombre de Personal Home Page (de aqu el
nombre de PHP). En vista del xito obtenido, escribi un intrprete para datos
que provenan de formularios, que se conoci como FI (Form Interpreter). La
combinacin de ambos, que sali a la luz a mediados de 1995, se conoci
como PHP/FI.
A medida que ms gente se interesaba en el proyecto, y el motor se utilizaba
para proyectos ms complejos, el desarrollo, pas a llevarse por un grupo de
programadores (Rasmus Lerdorf, Andi Gutmans, Zeev Suraski, Stig Bakken,
Shane Caraveo y Jim Winstead), que mejoraron el motor y aadieron un API
que permita a otros programadores aadir funcionalidades al motor de PHP.
De aqu naci PHP3.

Actualmente, est disponible PHP 5. Est basado en el motor Zend. PHP5


puede hacer cualquier cosa que hace un CGI. Puede interactuar con los
protocolos IMAP, SMTP, NNTP, POP3, HTTP y derivados. Tambin permite abrir
sockets de red directos, para interactuar con protocolos no soportados.

PHP5 puede conectarse a las siguientes bases de datos:

Adabas D
DB2
dBase
10
Empress
FilePro
FrontBase
Informix
Ingres
InterBase
mSQL
MySQL
Oracle
PostgreSQL
ODBC
Unix DBM
El mdulo mod_php (as es como se llama el mdulo de PHP para Apache), es
el ms popular para Apache; siendo este, el servidor web ms utilizado en
internet.
Unidad 3: Instalacin y Configuracin de PHP

3.1. Plataformas y servidores web soportados

Como sealamos en la Unidad 2, PHP se puede instalar en muchas plataformas


por ejemplo: Linux, MacOS, Windows, Solaris entre otros.

Para nuestro estudio podemos sealar dos tecnologas que dominan en el


mercado:

3.1.1. WAMP (Windows, Apache, MySQL y PHP)

Existen algunas variantes de esta tecnologa, sin embargo los ms estables que
he experimentado son los siguientes:

AppServ Open Project


Wamp Server 11
XAMPP para Windows

3.1.2. LAMP (Linux, Apache, MySQL y PHP)

Todas las distribuciones Linux tienen soporte para instalar de manera nativa
estas herramientas, de hecho en los servidores de hosting que encontramos en
el mercado, ms del 50% usan esta tecnologa.

PHP no puede hacer mucho sin un servidor web. As que al hablar de instalar
PHP, hablaremos de cmo instalar tambin un servidor Web. Esto no implica
toda la mquina que sirve pginas web, sino solo el software que acta como
servidor.

Hay distribuciones de PHP para Unix y para Win32, y para varios servidores web,
como ya se observ en el tema anterior. Sin embargo, donde PHP ofrece su
mejor rendimiento es como mdulo del servidor Apache.
PHP dispone tambin de mdulos para conectividad con bases de datos,
LDAP, XML, correo electrnico, generacin de imgenes al vuelo, generacin
de documentos PDF al vuelo, SNMP y muchos ms. Algunos de estos mdulos
pueden necesitar ms software para funcionar y otros no. Por ejemplo, el
mdulo de MySQL necesita las libreras de acceso de cliente para funcionar.

Descripcin de los mdulos disponibles en PHP


Algunos de los mdulos ms importantes disponibles para PHP son:

Aspell: Corrector ortogrfico open source


Berkeley DB: Base de datos para entornos poco sofisticados. Simple y
rpida. Funciona tanto en windows como en UNIX
Freetype: Librera que nos permite utilizar fuentes TrueType en imgenes
generadas al vuelo desde PHP. Aunque el software es open source, no
sucede as con las fuentes.
Para utilizar cualquier fuente TrueType, debemos tener su licencia.
GD: Librera que proporciona la funcionalidad de generacin de imgenes
12
al vuelo. Hay versiones Windows y UNIX.
IMAP: Librera de acceso a servidores de correo electrnico IMAP.
LDAP: Librera de acceso a servidores de directorio LDAP.
mSQL: Base de datos gratuita, simple y rpida para entornos poco
complejos.
MySQL: Base de datos open source, aunque puede necesitar de licencias
para entornos comerciales, diseada para paliar las limitaciones de mSQL.
Muy rpida y eficiente.
PDF: Librera de manipulacin de documentos PDF
T1: Librera similar a FreeType, pero para fuentes Adobe Type 1.
XML: Analizador de XML
Zlib: Librera para compresin de datos

Hasta ahora hemos visto que PHP se puede utilizar en varios sistemas
operativos, pero, en todos estos con Apache como servidor web. Puedo
decirles que no solo en este servidor web se puede usar PHP; de hecho, en
software libre tenemos algunas variantes interesantes como:
Lighttpd
Hiawatha

Estos servidores web, aunque no muy conocidos, funcionan perfectamente


con aplicaciones construidas en PHP, en el caso del Hiawatha, es un servidor
que prioriza la seguridad.

3.2. Instalacin de Servidor LAMP con CentOS

Para obtener una mayor comprensin de esta seccin, tenemos disponible el


video de la Instalacin de tecnologa LAMP en Fedora, por favor revisar en
Recursos didcticos el video InstalacionLAM.

3.2.1. Consideraciones generales

Antes de instalar PHP, necesita saber por qu quiere utilizarlo. Existen tres
campos principales en donde PHP es usado: 13

Scripts en la parte del servidor


Scripts en lnea de comandos
Aplicaciones grficas clientes

Este es el campo ms tradicional y el principal campo de trabajo. Se necesitan


tres cosas para que esto funcione.

1. El analizador PHP (CGI o mdulo),


2. Un servidor web y
3. Un navegador.

Dependiendo de la versin de sistema operativo que utilice, probablemente


tenga un servidor web Apache. Tambin se puede alquilar espacio web en
una empresa que ofrezca este servicio. De esta manera no se necesita instalar
nada, solamente escribir los scripts PHP, subirlos al espacio alquilado y ver el
resultado en su navegador.

Si est interesado en usar PHP desde la lnea de comandos (p.ej.: para generar
imgenes offline o procesar ficheros de textos, etc.) necesita el ejecutable
para lnea de comandos. En este caso no se necesita ni servidor Web, ni
navegador.

Con PHP tambin se puede escribir aplicaciones grficas usando la extensin


PHP-GTK. Esta es una forma totalmente distinta de utilizar PHP que cuando se
utiliza para escribir pginas web, ya que no se genera cdigo HTML sino que se
trabaja con ventanas y objetos dentro de las mismas. Para ms informacin
sobre PHP-GTK, visitar las pginas dedicadas a esta extensin
(http://gtk.php.net). PHP-GTK no se incluye en la distribucin oficial de PHP.

A partir de ahora, esta seccin tratar sobre la configuracin de PHP con


servidores web
14

3.2.2. Instalacin del servidor web Apache

Las distribuciones Linux ms usadas como: CentOS, Red Hat, Fedora, Ubuntu,
Debian, Suse; traen ya instalado el servidor Apache. Nosotros vamos hacer el
servidor web bajo CentOS como lo indicamos al inicio de la unidad.

Lo primero que debemos hacer, es verificar que el servidor Apache est


instalado, para ello abrimos una terminal y ejecutamos el siguiente comando:
# rpm -qa | grep httpd

Lo que hace este comando es verificar entre todos los paquetes instalados,
que est el paquete httpd, entonces nos damos cuenta que el programa se
llama httpd (no apache). Si luego de ejecutado el comando no aparece
ninguna respuesta, debemos instalarlo, para ello utilizamos la herramienta yum.
# yum -y install httpd
Luego de unos minutos estar instalado nuestro programa, a continuacin
debemos levantar el servicio, para ello ejecutamos el siguiente comando:
# service httpd start

Este comando lo que permite es levantar el servicio, sin embargo si reiniciamos


el servidor, este no levanta automticamente, para ello debemos ejecutar el
siguiente comando:
# chkconfig httpd on

Uno de los errores ms comunes que tienen los alumnos es obviar este ltimo
paso, lo que ocasiona que cuando reiniciemos el equipo no funcionen
nuestras aplicaciones.

3.2.3. Instalacin de PHP

Al igual que el apache, hacemos la verificacin si est instalado el PHP o no.


# rpm -qa | grep php
15

Si no hay resultado instalamos los siguientes paquetes:


# yum -y install php php-cli php-mysql php-gd

Con esto estamos instalando:

php y php-cli: El ncleo del lenguaje de programacin.


php-mysql: Es el mdulo para conectarse con MySQL
php-gd: Mdulo para el manejo de imgenes

3.2.4. Instalacin de MySQL y phpAyAdmin

Al igual que en los paquetes anteriores, verificamos que no se encuentre


instalado
# rpm -qa | grep mysql
Para instalar
# yum -y install mysql-server phpmyadmin

Con esto instalamos el servidor de base de datos MySQL y la aplicacin web


para la administracin de las bases de datos.

Para instalar el phpmyadmin, es necesario instalar el repositorio extra EPEL de


Fedora Project.
http://fedoraproject.org/wiki/EPEL

Una vez instalado el mysql debemos levantar el servicio:


# service mysqld start

Cuando levantamos el servicio por primera vez, debemos determinar la clave


de sper administrador de la base de datos (root), para ello ejecutamos el
siguiente comando:
# /usr/bin/mysqladmin -u root password 'Contrasea' 16

En Contrasea, deben poner la contrasea que desee para el administrador


de la base de datos root.

Tambin al igual que lo hicimos en el apache, debemos mantener la


configuracin para cuando reiniciemos el servidor.
# chkconfig mysqld on

3.3. Instalacin de Servidor WAMP

La instalacin en Windows es un poco ms sencilla que el servidor LAMP, ya


que solo se descarga el instalador, se lo corre y tenemos todos los elementos
necesarios para trabajar.
Disponemos de algunas variantes de servidores WAMP, sin embargo, es ms
cmodo utilizar el WAMP server, pero, se les ofrece otras opciones de
servidores para windows:

AppServ Open Project


Se lo pueden descargar desde la siguiente URL:
http://www.appservnetwork.com/

Se baja un .exe el cual lo ejecutamos y seguimos los pasos requeridos.

Wamp Server
Al igual que AppServ, lo pueden adquirir el instalador desde la siguiente URL:
http://www.wampserver.com/en/#download-wrappe

17
Unidad 4: Programacin en entornos Web

4.1. Diferencias entre tecnologas en cliente frente a tecnologas en


servidor

La principal diferencia entre PHP y HTML es cmo los servidores gestionan


dichas pginas. Una peticin de pgina HTML la responde el servidor enviando
el contenido completo del fichero y es el cliente (el navegador) el que
interpreta la pgina. En el caso de PHP, la pgina se moldea para cada
situacin, es una pgina dinmica. El servidor procesa las pginas en funcin
de las instrucciones PHP incluidas, y enva la pgina al cliente.

Desde el momento en que aparecieron las webs dinmicas, que permiten que
el usuario reciba una pgina adaptada a sus necesidades, han aparecido
varias tecnologas para facilitar dicha tarea. Dichas tecnologas se diferencian
en dos grupos: tecnologas en cliente y tecnologas en servidor.
18

Tabla No.1 Diferencias entre tecnologas Cliente y Servidor

Estas tecnologas no se excluyen entre s, es decir, pueden utilizarse a veces en


combinacin, como PHP y JavaScript, por ejemplo.

Las tecnologas de cliente son relativamente nuevas y la principal desventaja


que ofrecen es que el administrador del servidor no tiene ningn control sobre
el software que utiliza el cliente, con lo cual se produce la situacin actual en
la que muchas tecnologas no son compatibles entre s, y dependen del
navegador. Por otro lado, las tecnologas en servidor, en general, no requieren
de ningn navegador en particular. Adems, tenemos que tener en cuenta las
ventajas de las tecnologas de servidor en cuanto a acceso a base de datos,
protocolos de comunicacin, entre otros.

4.2. Creacin de una pgina PHP

Una vez instalado el servidor Web, PHP y un servidor de bases de datos y


convencidos de las ventajas de las tecnologas de servidor, y de PHP en
particular, empezamos nuestra andadura con la programacin en PHP. El
cdigo PHP se embebe en pginas HTML convencionales, con extensin .php.

19

Vamos a crear nuestra primera pgina con PHP desde nuestro editor Geany:

Este script tan slo imprime la cadena Mi primera pgina PHP. Introducimos
estas lneas en un fichero llamado ejemplo1.php en la raz de documentos del
servidor y apuntamos el navegador a la direccin
http://localhost/ejemplo1.php.

Si nosotros vemos el cdigo fuente de la pgina Web (clic derecho en el


navegador opcin: ver cdigo fuente), no encontraremos cdigo PHP. Esto es
porque el cdigo PHP se ha ejecutado en el servidor antes de que la pgina
llegara al cliente.

Volviendo al cdigo de nuestro primer script, vemoslo paso a paso. Aparte de


las marcas de HTML, tenemos lo siguiente:
Luego hemos introducido la instruccin echo, que imprime en la salida la
cadena que se le pasa como parmetro. Dicha cadena puede estar o no
encerrada entre parntesis. Las dos instrucciones siguientes son idnticas:

echo "Mi primera pgina PHP";


echo ("Mi primera pgina PHP");

Podemos usar PHP para generar cdigo que se ejecuta en el cliente. Veamos
este ejemplo:

20

En PHP las variables se especifican agregando el signo $ delante del nombre


de la variable. PHP no es un lenguaje fuertemente tipado, y no necesita que
las variables se declaren antes de ser utilizadas:
4.3. Interactividad con los usuarios

Un uso tpico de las variables es almacenar los datos introducidos por los
usuarios a travs de formularios HTML:

21

Lo que producir el siguiente resultado:


22
Imagen 1: Salida formulario en HTML

Aspectos que debern ser considerados:

La primera vez que se ejecute sta pgina, no habr nada en la caja de texto,
luego la variable $cadena no tendr ningn valor y no se imprimir nada.
Tambin ocurre que la cadena que hay impresa no coincide con la que hay
en la caja, porque nuestra variable va con retraso con respecto a la pgina
web.

Otro punto a tener en cuenta es que, al pulsar el botn Enviar, la cadena se


ha unido al URL de la pgina y ha dado como resultado:

ejemplo3.php?cadena=esto+es+una+cadena+cualquiera

Veamos como interactan entre s los clientes y los servidores.


4.3.1. Manejo de formularios

Generalmente, las aplicaciones Web recogen datos del cliente, y


normalmente a travs de formularios. El usuario teclea una serie de datos y
pulsa un botn Aceptar. Para que los datos le lleguen al servidor, el cliente
empaqueta dichos datos y enva la peticin al servidor. Dicha peticin debe
especificar el mtodo empleado. El mtodo se especifica en la marca de
formulario FORM y puede ser HEAD, GET, o POST (p. ej. <form method="post">):

El mtodo HEAD recupera informacin sobre el documento pero no el


documento en s.

El mtodo GET y el mtodo POST se utilizan para enviar peticiones al servidor.


Los dos consiguen la misma funcin pero de manera diferente.

4.3.2. Mtodo GET

23
Cuando se utiliza el mtodo GET, todos los datos se pegan al final de la
cadena de peticin de la siguiente manera:

Si en nuestro ejemplo 3, introducimos la cadena "Via del Ro" obtendremos el


siguiente URL:
http://localhost/ejemplos_curso/ejemplo3.php?cadena=Vi%F1a+del+R%EDo
Para poder recuperar los datos en el script PHP enviado por el formulario con
este mtodo, se debe utilizar la variable tipo arreglo $_GET, por ejemplo:
$nombre = $_GET['nombre'];

Donde nombre, es como nosotros le llamamos a la etiqueta input en el


formulario.
<input type="text" name="nombre">

4.3.3. Mtodo POST

El mtodo POST tambin empaqueta los datos como parte de la peticin. Sin
embargo, los datos no se pegan al final de la cadena de peticin en la
respuesta al cliente. Adems, las peticiones siempre sern procesadas, y
nunca extrados del cach del navegador.

Para poder recuperar los datos en el script PHP enviado por el formulario con
este mtodo, se debe utilizar la variable tipo arreglo $_POST, por ejemplo:
24
$nombre = $_POST['nombre'];

Donde nombre, es como nosotros le llamamos a la etiqueta input en el


formulario.
<input type="text" name="nombre">

Qu mtodo es mejor? En general, es indiferente.

Para recuperacin de informacin suele ser preferible el mtodo GET, y si la


peticin va a modificar datos que alterarn las pginas que estamos viendo,
deberemos utilizar el mtodo POST.

Finalmente, los datos vuelven al cliente. El script de servidor especifica el tipo


de contenido y el cliente se ocupa de la representacin en pantalla. Por
ejemplo, un formulario no tiene por qu devolver una pgina HTML; puede
devolver imgenes, ficheros, etc.
4.4. Procesar datos de un formulario

En el ejemplo 3 se utiliza la misma pgina para introducir y procesar los datos


del formulario. Puede ser necesario separar las pginas de introduccin de
datos de las de proceso. En el siguiente ejemplo estableceremos un formulario
de introduccin de datos que pasar los datos a una segunda pgina, que los
procesar. Al pulsar el botn Enviar, el cliente pasar una peticin a la
pgina de proceso y los datos se pegarn a la cabecera HTTP en lugar de al
URL.

25
Sobre si es mejor separar el proceso de la pgina de introduccin de datos o
mantenerlos juntos, es una decisin de cada desarrollador. En general, ningn
mtodo es mejor que otro.

4.5. Paso de variables entre script utilizando cadenas de peticin

Supongamos ahora que nuestra web empieza a crecer y necesitamos utilizar


la variable $nombre en ms pginas. Para pasar la variable a otras pginas
necesitaremos codificarlas en las peticiones.

Veamos el ejemplo siguiente:

26
Pasar las variables de esta manera tiene un inconveniente: los datos son
visibles para el usuario y esto no es siempre recomendable. Una tcnica ms
interesante para compartir datos entre scripts es la de utilizar campos ocultos
en los formularios:

27
28

4.6. Comentarios en el cdigo

En PHP los comentarios en el cdigo pueden especificarse de varias maneras:


4.7. Secuencias de escape
29

Consideremos la siguiente frase:


El hombre dijo: "Qu necesitamos?"
Intentemos imprimirla directamente:
El resultado que obtendremos no diferir mucho del siguiente:

Parse error: parse error, expecting `','' or `';'' in


c:/htdocs/ejemplos_curso/ejemplo8.php on line 4

Cul es el problema? Algunos caracteres han sido confundidos como fin de


cadena. Para poder imprimir dichos caracteres utilizaremos la barra invertida
(\) como carcter de escape:

30

Tenemos las siguientes secuencias de escape:


En los ejemplos anteriores, vimos que PHP sustituye una ocurrencia de
$nombre_de_variable por su valor. Esta expansin de variables puede anularse
utilizando secuencias de escape o bien utilizando comillas simples:

31
32

Esta obra est bajo una licencia de Creative Commons


Reconocimiento-NoComercial-SinObraDerivada 3.0 Ecuador

Anda mungkin juga menyukai