SlideShare una empresa de Scribd logo
1 de 22
Aprendiendo PHP, MySQL,
JavaScript, CSS, HTML 5
Prefacio_____________________________________________
La combinación de PHP y MySQL es el enfoque más conveniente para el diseño
web dinámico basado en bases de datos, resistiéndose a los desafíos de los marcos
integrados, como Ruby on Rails, que son más difíciles de aprender. Debido a sus raíces
de código abierto (a diferencia del competidor Microsoft .NET Framework), es de
implementación gratuita y, por lo tanto, es una opción extremadamente popular para el
desarrollo web.
Cualquier desarrollador potencial en una plataforma Unix / Linux o incluso una
plataforma de Windows / Apache tendrá que dominar estas tecnologías. Y, combinado
con las tecnologías asociadas de JavaScript, CSS y HTML5, podrá crear sitios web del
calibre de estándares de la industria como Facebook, Twitter y Gmail.
Audiencia
Este libro es para personas que desean aprender cómo crear sitios web efectivos
y dinámicos. Esto puede incluir webmasters o diseñadores gráficos que ya están creando
sitios web estáticos pero desean llevar sus habilidades al siguiente nivel, así como a
estudiantes de secundaria y universitarios, recién graduados y personas autodidactas.
De hecho, cualquier persona dispuesta a aprender los fundamentos de la
tecnología Web 2.0 conocida como Ajax obtendrá una sólida base en todas estas
tecnologías centrales: PHP, MySQL, JavaScript, CSS y HTML5.
Suposiciones que hace este libro
Este libro asume que tienes un conocimiento básico de HTML y al menos puede
armar un sitio web simple y estático, pero no asume que tienes ningún conocimiento
previo de PHP, MySQL, JavaScript, CSS o HTML5, aunque si lo haces, su progreso a
través del libro será aún más rápido.
Organización de este libro
Los capítulos de este libro están escritos en un orden específico, primero
presentando todas las tecnologías principales que cubre y luego guiándote a través de su
instalación en un servidor de desarrollo web para que estés listo para trabajar con los
ejemplos.
En la primera sección, obtendrá una conexión a tierra en el lenguaje de
programación PHP, que cubre los conceptos básicos de sintaxis, matrices, funciones y
programación orientada a objetos.
Luego, con PHP en su haber, pasará a una introducción al sistema de base de
datos MySQL, donde aprenderá todo, desde cómo se estructuran las bases de datos
MySQL hasta cómo generar consultas complejas.
Después de eso, aprenderá cómo puede combinar PHP y MySQL para comenzar
a crear sus propias páginas web dinámicas mediante la integración de formularios y
otras características HTML. A continuación, obtendrá los aspectos prácticos básicos del
desarrollo de PHP y MySQL al aprender una variedad de funciones útiles y cómo
administrar cookies y sesiones, así como también cómo mantener un alto nivel de
seguridad.
En los siguientes capítulos, obtendrá una sólida base en JavaScript, desde
funciones simples y manejo de eventos hasta acceder al Modelo de Objeto de
Documento y validación en el navegador y manejo de errores.
Con una comprensión de estas tres tecnologías centrales, aprenderá a hacer
llamadas Ajax entre bastidores y a convertir sus sitios web en entornos altamente
dinámicos.
A continuación, pasará dos capítulos aprendiendo todo sobre el uso de CSS para
diseñar y diseñar sus páginas web, antes de pasar a la sección final sobre las nuevas
características integradas en HTML5, que incluyen geolocalización, audio, video y
lienzo. Después de esto, juntarás todo lo que has aprendido en un conjunto completo de
programas que juntos constituyen un sitio web de redes sociales completamente
funcional.
En el camino, también encontrará muchos consejos y consejos sobre buenas
prácticas de programación y consejos que podrían ayudarlo a encontrar y resolver
errores de programación difíciles de detectar. También hay muchos enlaces a sitios web
que contienen más detalles sobre los temas tratados.
Libros de apoyo
Una vez que haya aprendido a desarrollar usando PHP, MySQL, JavaScript,
CSS y HTML5, estará listo para llevar sus habilidades al siguiente nivel utilizando los
siguientes libros de referencia de O'Reilly. Para obtener más información sobre
cualquiera de estos títulos, simplemente busque en el sitio web de O'Reilly o en
cualquier sitio web de un buen vendedor de libros en línea:
 Dynamic HTML: The Definitive Reference by Danny Goodman
 PHP in a Nutshell by Paul Hudson
 MySQL in a Nutshell by Russell J.T. Dyer
 JavaScript: The Definitive Guide by David Flanagan
 CSS: The Definitive Guide by Eric A. Meyer
 HTML5: The Missing Manual by Matthew MacDonald
Las convenciones usadas en este libro
Las siguientes convenciones tipográficas se usan en este libro:
Texto sin formato
Indica títulos de menú, opciones y botones
Italica
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de
archivos, extensiones de archivos, nombres de rutas, directorios y utilidades de Unix.
Constant width
Indica opciones de línea de comandos, variables y otros elementos de código, etiquetas
HTML, macros y el contenido de los archivos.
Negritas en Ancho Constante
Muestra la salida del programa o las secciones destacadas del código que se
están discutiendo en el texto.
Ancho constante en cursiva
Muestra texto que debe reemplazarse por valores proporcionados por el usuario.
NOTA
Este elemento significa una tips, sugerencia o nota general.
Advertencia
Este elemento significa advertencia o precaución
Usando ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) está disponible
en http://lpmj.net.
Este libro está aquí para ayudarlo a hacer su trabajo. En general, si se ofrece un
código de ejemplo con este libro, puede usarlo en sus programas y documentación. No
necesita contactarnos para obtener permiso a menos que esté reproduciendo una porción
significativa del código. Por ejemplo, escribir un programa que usa varios fragmentos
de código de este libro no requiere permiso. Vender o distribuir un CD-ROM con
ejemplos de libros de O'Reilly requiere permiso. Responder una pregunta citando este
libro y citando código de ejemplo no requiere permiso. Incorporar una cantidad
significativa de código de ejemplo de este libro en la documentación de su producto no
requiere permiso.
Agradecemos, pero no requerimos, la atribución. Una atribución generalmente
incluye el título, autor, editor e ISBN. Por ejemplo: "Aprendiendo PHP, MySQL,
JavaScript, CSS y HTML5, tercera edición, por Robin Nixon. Copyright 2014 Robin
Nixon, 978-1-4919-4946-7. "
Si cree que su uso de ejemplos de código queda fuera del uso legítimo o el
permiso otorgado aquí, no dude en ponerse en contacto con nosotros en
permissions@oreilly.com.
Nos gustaría escuchar de usted
Todos los ejemplos de este libro se han probado en varias plataformas, pero
ocasionalmente puede encontrar problemas, por ejemplo, si tiene una instalación no
estándar o una versión diferente de PHP. La información en este libro también se ha
verificado en cada paso del proceso de producción. Sin embargo, pueden ocurrir errores
y descuidos y agradeceremos recibir los detalles de los que encuentre, así como
cualquier sugerencia que desee realizar en futuras ediciones. Puede contactar al autor y
a los editores en:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
(800) 998-9938 (in the United States or Canada)
(707) 829-0515 (international or local)
(707) 829-0104 (fax)
Tenemos una página web para este libro, donde enumeramos erratas, ejemplos y
cualquier información adicional. Puede acceder a esta página en http://bit.ly/lpmjch_3e.
También hay un sitio web complementario a este libro en http://lpmj.net, donde puede
descargar todos los ejemplos de este libro en un solo archivo zip.
Para comentar o hacer preguntas técnicas sobre este libro, envíe un correo electrónico a
bookquestions@oreilly.com.
Para obtener más información sobre nuestros libros, cursos, conferencias y noticias,
visite nuestro sitio web en http://www.oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síganos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://www.youtube.com/oreillymedia
Safari® Books Online
Safari Books Online (www.safaribooksonline.com) es una biblioteca digital a
pedido que ofrece contenido experto en forma de libro y video de los principales autores
del mundo en tecnología y negocios.
Los profesionales de la tecnología, los desarrolladores de software, los
diseñadores web y los profesionales creativos y de negocios usan Safari Books Online
como su recurso principal para la capacitación en investigación, resolución de
problemas, aprendizaje y certificación.
Safari Books Online ofrece una gama de mezclas de productos y programas de
fijación de precios para organizaciones, agencias gubernamentales e individuos. Los
suscriptores tienen acceso a miles de libros, videos de capacitación y manuscritos
previos a la publicación en una base de datos de búsqueda completa de editores como
O'Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft
Press, Sams, Que, Peachpit Press, Focal Press, Cisco Prensa, John Wiley & Sons,
Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress,
Manning, New Riders, McGraw-Hill, Jones & Bartlett, Tecnología del curso y docenas
más. Para obtener más información acerca de Safari Books Online, visítenos en línea.
Expresiones de gratitud
Me gustaría agradecer una vez más a mi editor, Andy Oram, ya todos los que
trabajaron duro en este libro, incluyendo a Albert Wiersch por su exhaustiva revisión
técnica, Kristen Brown por la supervisión de la producción, Rachel Monaghan por su
corrección, Jasmine Kwityn por su corrección, Robert Romano por sus ilustraciones
originales, Rebecca Demarest por sus nuevas ilustraciones, David Futato por diseño de
interiores, Lucie Haskins por crear el índice, Karen Montgomery por el diseño original
de la cubierta frontal del ala de azúcar, Randy Comer por la última portada del libro y
todos los demás son demasiado numerosos para nombrar quién envió la errata y ofreció
sugerencias para esta nueva edición.
CAPITULO 1: Introducción al Contenido Web Dinamico
La World Wide Web es una red en constante evolución que ya viajó mucho más
allá de su concepción a principios de la década de 1990, cuando se creó para resolver un
problema específico. Los experimentos de vanguardia en el CERN (el Laboratorio
Europeo de Física de Partículas-ahora mejor conocido como el operador del Gran
Colisionador de Hadrones) producían cantidades increíbles de datos, tanto que los datos
resultaban difíciles de distribuir para los participantes. científicos que se extendieron por
todo el mundo.
En este momento, Internet ya estaba en funcionamiento, con varios cientos de
miles de computadoras conectadas, por lo que Tim Berners-Lee (un miembro del
CERN) ideó un método para navegar entre ellos utilizando un marco hipervínculo, que
se conoció como transferencia de hipertexto. Protocolo o HTTP. También creó un
lenguaje de marcado llamado HTML o Hypertext Markup Language. Para unirlos,
escribió el primer navegador web y servidor web, herramientas que ahora damos por
sentado.
Pero en aquel entonces, el concepto era revolucionario. La conectividad más
experimentada hasta el momento por los usuarios de módem en el hogar era marcar y
conectarse a un tablero de anuncios que estaba alojado en una sola computadora, donde
se podía comunicar e intercambiar datos solo con otros usuarios de ese servicio. En
consecuencia, era necesario ser miembro de muchos sistemas de tableros de anuncios
para poder comunicarse electrónicamente de manera efectiva con sus colegas y amigos.
Pero Berners-Lee cambió todo eso de una sola vez, y para mediados de la década de
1990, había tres principales navegadores web gráficos compitiendo por la atención de
cinco millones de usuarios. Pronto se hizo obvio, sin embargo, que algo faltaba. Sí, las
páginas de texto y gráficos con hipervínculos para llevarlo a otras páginas eran un
concepto brillante, pero los resultados no reflejaban el potencial instantáneo de las
computadoras y de Internet para satisfacer las necesidades particulares de cada usuario
con contenido dinámicamente cambiante. Usar la Web fue una experiencia muy seca y
simple, ¡incluso si ahora tuviéramos texto de desplazamiento y GIF animados!
Los carritos de compras, los motores de búsqueda y las redes sociales han alterado
claramente la forma en que usamos la Web. En este capítulo, veremos brevemente los
diversos componentes que componen la Web y el software que ayuda a que sea una
experiencia rica y dinámica.
NOTA
Es necesario comenzar a usar algunos acrónimos más o menos de inmediato.
Intenté explicarlos claramente antes de proceder. Pero no se preocupe demasiado por lo
que significan o por lo que significan estos nombres, porque los detalles se aclararán a
medida que sigan leyendo.
HTTP y HTML: Fundamentos de Berners-Lee
HTTP es un estándar de comunicación que rige las solicitudes y respuestas que
tienen lugar entre el navegador que se ejecuta en la computadora del usuario final y el
servidor web. El trabajo del servidor consiste en aceptar una solicitud del cliente e
intentar responderla de manera significativa, generalmente publicando una página web
solicitada; por eso se usa el término servidor. La contraparte natural de un servidor es un
cliente, por lo que ese término se aplica tanto al navegador web como a la computadora
en la que se ejecuta.
Entre el cliente y el servidor puede haber varios otros dispositivos, como
enrutadores, proxies, puertas de enlace, etc. Sirven diferentes roles para garantizar que
las solicitudes y las respuestas se transfieren correctamente entre el cliente y el servidor.
Por lo general, usan Internet para enviar esta información.
Un servidor web generalmente puede manejar múltiples conexiones simultáneas
y, cuando no se comunica con un cliente, pasa su tiempo escuchando una conexión
entrante. Cuando uno llega, el servidor envía una respuesta para confirmar su recibo.
Los Procedimientos Request/Response
En su nivel más básico, el proceso de solicitud / respuesta consiste en un
navegador web que le pide al servidor web que le envíe una página web y al servidor
que devuelve la página. El navegador se encarga de mostrar la página (ver Figura 1-1).
Fig 1.1 Secuencia Basica de la Pagina Cliente Servidor procedimientos request/response.
Navegador
Web
La
Internet
Servidor WEB en
www.xxx.com
Unidad de Disco
En www.xx.com
Usuario Entra en
http://server.com
Busca la IP DE
http://server.com
Recuperar Pagina
Principal de
http://server.com
Respuesta de la
Pagina Indice
Se Muestra como
se recupera del
hd
Se Regresa La
Pagina IndiceSe Recibe y se
Muestra la Pagina
Cada paso en la secuencia de solicitud y respuesta es el siguiente:
1. Usted ingresa a http://server.com en la barra de direcciones de su navegador.
2. Su navegador busca la dirección IP de server.com.
3. Su navegador emite una solicitud para la página de inicio en server.com.
4. La solicitud cruza Internet y llega al servidor web server.com.
5. El servidor web, una vez recibida la solicitud, busca la página web en su disco
duro.
6. La página web es recuperada por el servidor y devuelta al navegador.
7. Su navegador muestra la página web.
Para una página web promedio, este proceso tiene lugar una vez para cada objeto
dentro de la página: un gráfico, un video incrustado o un archivo Flash, e incluso una
plantilla CSS.
En el paso 2, observe que el navegador buscó la dirección IP de server.com. Cada
máquina conectada a Internet tiene una dirección IP, su computadora incluida. Pero
generalmente accedemos a los servidores web por su nombre, como google.com. Como
probablemente sepa, el navegador consulta un servicio de Internet adicional llamado
Servicio de nombres de dominio (DNS) para encontrar su dirección IP asociada y luego
la usa para comunicarse con la computadora.
Para las páginas web dinámicas, el procedimiento es un poco más complicado,
porque puede incluir tanto PHP como MySQL en la mezcla (consulte la Figura 1-2).
Figure 1-2: Una Dinamica secuencia Cliente Servidor Solicitud / Respuesta
Navegador
Web
Internet Servidor Web PROCESADOR
PHP
Unidad de
Disco
Servidor
Mysql
Usuario Entraen
http://server.com
BuscalaIP DE
http://server.com
Recuperar Pagina
Principal de
http://server.com Respuestade la
PaginaIndice
Se Muestracomo
se recupera del hd
Contenido
php
Se MuestralaPagina
Ejecuta SQL
Se Recibe Los
Datos
ProcesosPHP
Se Retornala
Pagina
Estos son los pasos para una secuencia dinámica de solicitud / respuesta de cliente /
servidor:
1. Usted ingresa a http://server.com en la barra de direcciones de su navegador.
2. Su navegador busca la dirección IP de server.com.
3. Su navegador emite una solicitud a esa dirección para la página de inicio del
servidor web.
4. La solicitud cruza Internet y llega al servidor web server.com.
5. El servidor web, una vez recibida la solicitud, recupera la página de inicio desde
su disco duro.
6. Con la página de inicio ahora en la memoria, el servidor web se da cuenta de que
se trata de un archivo que incorpora PHP scripting y pasa la página al intérprete
de PHP.
7. El intérprete PHP ejecuta el código PHP.
8. Parte del PHP contiene sentencias de MySQL, que el intérprete de PHP pasa
ahora al motor de la base de datos MySQL.
9. La base de datos MySQL devuelve los resultados de las declaraciones al
intérprete de PHP.
10. El intérprete PHP devuelve los resultados del código PHP ejecutado, junto con
los resultados de la base de datos MySQL, al servidor web.
11. El servidor web devuelve la página al cliente solicitante, que la muestra.
Aunque es útil conocer este proceso para que sepa cómo funcionan juntos los tres
elementos, en la práctica no es necesario que se preocupe por estos detalles, porque
todos ocurren automáticamente.
Las páginas HTML devueltas al navegador en cada ejemplo pueden contener
JavaScript, que el cliente interpretará localmente y que podría iniciar otra solicitud, del
mismo modo que lo harían los objetos incrustados, como las imágenes.
LOS BENEFICIOS DE PHP, MySQL, JavaScript, CSS, and
HTML5
Al comienzo de este capítulo, presenté el mundo de la Web 1.0, pero no pasó
mucho tiempo antes de que se apresurara la creación de la Web 1.1, con el desarrollo de
mejoras del navegador como Java, JavaScript, JScript (la pequeña variante de
JavaScript de Microsoft). ) y ActiveX. En el lado del servidor, se progresó en la Interfaz
de puerta de enlace común (CGI) utilizando lenguajes de scripting como Perl (una
alternativa al lenguaje PHP) y scripting del lado del servidor: insertando el contenido de
un archivo (o la salida de un sistema llamar) a otro de forma dinámica.
Una vez que el polvo se había asentado, tres tecnologías principales se
destacaban por encima de las demás. Aunque Perl todavía era un lenguaje de scripting
popular con muchos seguidores, la simplicidad de PHP y los enlaces integrados al
programa de base de datos MySQL le habían ganado más del doble de usuarios. Y
JavaScript, que se había convertido en una parte esencial de la ecuación para manipular
dinámicamente CSS (Cascading Style Sheets) y HTML, ahora asumió la tarea aún más
compleja de manejar el lado del cliente del proceso Ajax. En Ajax, las páginas web
realizan el manejo de datos y envían solicitudes a los servidores web en segundo plano,
sin que el usuario de la web sepa que esto está sucediendo.
Sin duda, la naturaleza simbiótica de PHP y MySQL ayudó a impulsarlos a
ambos, pero ¿qué fue lo que atrajo a los desarrolladores para ellos en primer lugar? La
respuesta simple tiene que ser la facilidad con la que puede usarlos para crear
rápidamente elementos dinámicos en los sitios web. MySQL es un sistema de base de
datos rápido y potente, pero fácil de usar, que ofrece casi todo lo que un sitio web
necesitaría para encontrar y proporcionar datos a los navegadores. Cuando PHP se alía
con MySQL para almacenar y recuperar estos datos, usted tiene las partes
fundamentales requeridas para el desarrollo de los sitios de redes sociales y los
comienzos de la Web 2.0.
Y cuando incorpora JavaScript y CSS a la mezcla también, tiene una receta para
crear sitios web altamente dinámicos e interactivos.
Usando PHP
Con PHP, es una simple cuestión incorporar actividades dinámicas en páginas
web. Cuando le da a las páginas la extensión .php, tienen acceso instantáneo al lenguaje
de scripting. Desde el punto de vista de un desarrollador, todo lo que tiene que hacer es
escribir un código como el siguiente:
<?php
echo " Today is " . date("l") . ". ";
?>
Here's the latest news.
La apertura <? Php le dice al servidor web que permita que el programa PHP
interprete todo el siguiente código hasta la etiqueta?>. Fuera de este constructo, todo se
envía al cliente como HTML directo. Entonces el texto Aquí están las últimas noticias.
simplemente se envía al navegador; dentro de las etiquetas PHP, la función de fecha
incorporada muestra el día actual de la semana según la hora del sistema del servidor.
El resultado final de las dos partes se ve así:
Today is Wednesday. Here's the latest news.
PHP es un lenguaje flexible, y algunas personas prefieren colocar el constructo
PHP directamente al lado del código PHP, así:
Today is <?php echo date("l"); ?>. Here's the latest news.
También hay otras formas de formatear y generar información, que explicaré
en los capítulos sobre PHP. El punto es que con PHP, los desarrolladores web tienen un
lenguaje de scripting que, aunque no es tan rápido como compilar su código en C o en
un lenguaje similar, es increíblemente rápido y también se integra sin problemas con el
marcado HTML.
Al usar PHP, tienes control ilimitado sobre tu servidor web. Ya sea que necesites
modificar HTML sobre la marcha, procesar una tarjeta de crédito, agregar detalles de
usuario a una base de datos o buscar información de un sitio web de un tercero, puedes
hacerlo todo desde los mismos archivos PHP en los que reside el HTML.
Usando MySQL
Por supuesto, no tiene mucho sentido cambiar la salida HTML de forma
dinámica a menos que también tenga un medio para rastrear los cambios que hacen los
usuarios mientras usan su sitio web. En los primeros días de la Web, muchos sitios
usaban archivos de texto "planos" para almacenar datos como nombres de usuario y
contraseñas. Pero este enfoque podría causar problemas si el archivo no se bloqueó
correctamente contra la corrupción de múltiples accesos simultáneos. Además, un
archivo plano puede ser muy grande antes de que se vuelva difícil de manejar, sin
mencionar la dificultad de tratar de combinar archivos y realizar búsquedas complejas
en cualquier tipo de tiempo razonable.
Ahí es donde las bases de datos relacionales con consultas estructuradas se
vuelven esenciales. Y MySQL, que es de uso gratuito e instalado en un gran número de
servidores web de Internet, se eleva magníficamente para la ocasión. Es un sistema de
administración de bases de datos robusto y excepcionalmente rápido que utiliza
comandos similares al inglés.
El nivel más alto de la estructura MySQL es una base de datos, dentro de la cual
puede tener una o más tablas que contienen sus datos. Por ejemplo, supongamos que
está trabajando en una tabla llamada usuarios, dentro de la cual ha creado columnas para
apellido, primer nombre y correo electrónico, y ahora desea agregar otro usuario. Un
comando que puede usar para hacer esto es:
INSERT INTO users VALUES('Smith', 'John', 'jsmith@mysite.com');
Por supuesto, como se mencionó anteriormente, habrá emitido otros comandos para
crear la base de datos y la tabla y para configurar todos los campos correctos, pero el
comando INSERT aquí muestra cuán simple puede ser agregar datos nuevos a una base
de datos. El comando INSERT es un ejemplo de SQL (Structured Query Language), un
lenguaje diseñado a principios de la década de 1970 y que recuerda a uno de los
lenguajes de programación más antiguos, COBOL. Sin embargo, es muy adecuado para
las consultas de bases de datos, razón por la cual todavía está en uso después de todo
este tiempo.
NOTA
Si tiene la intención de ingresar los ejemplos de PHP en este libro para trabajar
conmigo,debe recordar agregar <? Php al frente y?> Después de ellos para asegurarse de que
el intérprete de PHP los procese. Para facilitar esto, es posible que desee preparar un archivo
llamado example.php con esas etiquetas en su lugar.
Es igualmente fácil buscar datos. Supongamos que tiene una dirección de correo
electrónico para un usuario y necesita buscar el nombre de esa persona. Para hacer esto,
podría emitir una consulta MySQL como:
SELECT surname,firstname FROM users WHERE mail='jsmith@mysite.com';
MySQL luego devolverá Smith, John y cualquier otro par de nombres que puedan
estar asociados con esa dirección de correo electrónico en la base de datos.
Como era de esperar, hay mucho más que puedes hacer con MySQL que los simples
comandos INSERT y SELECT. Por ejemplo, puede unir varias tablas de acuerdo con
varios criterios, solicitar resultados en una variedad de órdenes, hacer coincidencias
parciales cuando conoce solo una parte de la cadena que está buscando, solo devuelve el
enésimo resultado y mucho más.
Usando PHP, puede hacer todas estas llamadas directamente a MySQL sin tener que
ejecutar el programa MySQL usted mismo o usar su interfaz de línea de comandos. Esto
significa que puede guardar los resultados en matrices para su procesamiento y realizar
búsquedas múltiples, cada una de las cuales depende de los resultados devueltos de las
anteriores, para explorar hasta el elemento de datos que necesita.
Para obtener aún más potencia, como verá más adelante, hay funciones adicionales
incorporadas en MySQL que puede invocar para operaciones comunes y velocidad
extra.
Usando JavaScript
La más antigua de las tres tecnologías principales de este libro, JavaScript, se creó para
permitir el acceso de scripts a todos los elementos de un documento HTML. En otras
palabras, proporciona un medio para la interacción dinámica del usuario, como verificar
la validez de la dirección de correo electrónico en formularios de entrada, mostrar
mensajes como "¿De verdad quiso decir eso?", Y así sucesivamente (tenga en cuenta
que no se puede confiar en él). seguridad, que siempre debe realizarse en el servidor
web).
Combinado con CSS (consulte la siguiente sección), JavaScript es el poder detrás de las
páginas web dinámicas que cambian frente a sus ojos en lugar de cuando el servidor
devuelve una página nueva.
Sin embargo, JavaScript también puede ser difícil de usar, debido a algunas diferencias
importantes en la forma en que diferentes diseñadores de navegadores han elegido
implementarlo. Esto se produjo principalmente cuando algunos fabricantes intentaron
poner funcionalidad adicional en sus navegadores a expensas de la compatibilidad con
sus rivales.
Afortunadamente, los desarrolladores han vuelto en sí a la realidad y se han dado cuenta
de la necesidad de una compatibilidad total entre ellos, para que no tengan que escribir
código de excepción múltiple. Pero quedan millones de navegadores heredados que se
utilizarán durante muchos años. Afortunadamente, existen soluciones para los
problemas de incompatibilidad, y más adelante en este libro veremos bibliotecas y
técnicas que le permiten ignorar estas diferencias de manera segura.
Por ahora, echemos un vistazo rápido a cómo puede usar JavaScript básico, aceptado
por todos los navegadores:
<script type="text/javascript">
document.write("Today is " + Date() );
</script>
Este fragmento de código le dice al navegador que interprete todo en las etiquetas de
script como JavaScript, lo que el navegador hace al escribir el texto Hoy es para el
documento actual, junto con la fecha, usando la función de JavaScript Fecha. El
resultado se verá algo como esto:
Today is Sun Jan 01 2017 01:23:45
Como se mencionó anteriormente, JavaScript fue desarrollado originalmente
para ofrecer control dinámico sobre los diversos elementos dentro de un documento
HTML, y ese sigue siendo su uso principal. Pero cada vez más, JavaScript se está
utilizando para Ajax. Este es un término para el proceso de acceso al servidor web en
segundo plano. (Originalmente significaba "JavaScript y XML asíncronos", pero esa
frase ya está un poco desactualizada).
Ajax es el proceso principal detrás de lo que ahora se conoce como Web 2.0
(un término popularizado por Tim O'Reilly, fundador y CEO de la compañía editorial
de este libro), en el que las páginas web han comenzado a parecerse a los programas
independientes, porque no lo hacen. tienen que ser recargados en su totalidad. En
cambio, una llamada rápida de Ajax puede incorporar y actualizar un solo elemento en
una página web, como cambiar su fotografía en un sitio de red social o reemplazar un
botón con el que hace clic con la respuesta a una pregunta. Este tema está
completamente cubierto en el Capítulo 18.
Usando CSS
Con la aparición del estándar CSS3 en los últimos años, CSS ahora ofrece un
nivel de interactividad dinámica previamente soportado solo por JavaScript. Por
ejemplo, no solo puede darle estilo a cualquier elemento HTML para cambiar sus
dimensiones, colores, bordes, espaciado, etc., sino que ahora también puede agregar
NOTA
A menosque necesite especificarunaversiónexactade JavaScript,normalmentepuede
omitirtype = "text/ javascript"ysimplemente use <script> para comenzar la interpretación de
JavaScript.
transiciones animadas y transformaciones a sus páginas web, usando solo unas pocas
líneas de CSS.
Usar CSS puede ser tan simple como insertar algunas reglas entre las etiquetas <style>
y </ style> en el encabezado de una página web, como esta:
<style>
p {
text-align:justify;
font-family:Helvetica;
}
</style>
Estas reglas cambiarán la alineación de texto predeterminada de la etiqueta
<p> para que los párrafos que contiene estén completamente justificados y usen la
fuente Helvetica.
Como aprenderá en el Capítulo 19, hay muchas maneras diferentes de diseñar
reglas de CSS, y también puede incluirlas directamente dentro de las etiquetas o guardar
un conjunto de reglas en un archivo externo para cargarlas por separado. Esta
flexibilidad no solo le permite diseñar su HTML de forma precisa, sino que también
puede, por ejemplo, proporcionar una función integrada de desplazamiento para animar
objetos a medida que el mouse pasa sobre ellos. También aprenderá cómo acceder a
todas las propiedades CSS de un elemento desde JavaScript y HTML.
Y luego está HTML5
A pesar de lo útiles que resultaron todas estas adiciones a los estándares web,
no fueron suficientes para desarrolladores más ambiciosos. Por ejemplo, todavía no
existía una forma simple de manipular gráficos en un navegador web sin recurrir a
complementos como Flash. Y lo mismo ocurrió con la inserción de audio y video en
páginas web. Además, varias inconsistencias molestas se habían infiltrado en HTML
durante su evolución.
Por lo tanto, para aclarar todo esto y llevar Internet más allá de la Web 2.0 y en su
próxima iteración, se creó un nuevo estándar para HTML para abordar todas estas
deficiencias. Se llamó HTML5 y comenzó a desarrollarse ya en 2004, cuando el primer
borrador fue elaborado por Mozilla Foundation y Opera Software (desarrolladores de
dos populares navegadores web). Pero no fue hasta el comienzo de 2013 que el borrador
final fue presentado al Consorcio de la World Wide Web (W3C), el organismo de
gobierno internacional para estándares web.
Con nueve años para que se desarrolle, podría pensar que ese sería el final de
la especificación, pero así no es como funcionan las cosas en Internet. Aunque los sitios
web van y vienen a gran velocidad, el software subyacente se desarrolla lenta y
cuidadosamente, por lo que la recomendación estable para HTML5 no se espera hasta
después de que se publique esta edición del libro, a fines de 2014. ¿Y adivinen qué? El
trabajo pasará a las versiones 5.1 y posteriores, comenzando en 2015. Es un ciclo de
desarrollo sin fin.
Sin embargo, aunque HTML5.1 está pensado para ofrecer algunas mejoras
prácticas (principalmente en el lienzo), HTML5 básico es el nuevo estándar que los
desarrolladores web ahora necesitan para trabajar, y se mantendrá en su lugar por
muchos años más. Por lo tanto, aprender todo lo que puedas sobre él ahora te hará ser
muy útil.
En realidad, hay muchas cosas nuevas en HTML (y bastantes cosas que se han
cambiado o eliminado), pero en resumen, esto es lo que obtienes
Markup
Incluye elementos nuevos como <nav> y <footer>, y elementos obsoletos
como <font> y <center>.
Nuevas APIs
Por ejemplo, el elemento <canvas> para escribir y dibujar en un lienzo de
gráficos, elementos <audio> y <video>, aplicaciones web sin conexión,
microdatos y almacenamiento local.
Aplicaciones
Incluye dos nuevas tecnologías de renderizado: MathML (lenguaje de
marcado matemático) para mostrar fórmulas matemáticas) y SVG (Scalable Vector
Graphics) para crear elementos gráficos fuera del nuevo elemento <canvas>. Sin
embargo, MathML y SVG son algo especializados, y están tan repletos de funciones
que necesitarían un libro propio, por lo que no los cubro aquí.
Todas estas cosas (y más) están cubiertas en detalle a partir del Capítulo 22.
NOTA
Una de las pequeñas cosas que me gusta de la especificación HTML5 es que la sintaxis
XHTML ya no esnecesariaparalos elementosde cierre automático.Enel pasado,podíamostrar
un salto de línea con el elemento <br>. Luego, para asegurar la compatibilidad futura con
XHTML (el reemplazo planeado para HTML que nunca sucedió), esto se cambió a <br />, en el
que se agregó uncierre / carácter (porque se esperabaque todosloselementosincluyeran una
etiqueta de cierre con este personaje ) Pero ahora las cosas han dado un giro completo y
puedesusarcualquierade lasversionesde estos tipos de elementos. Por lo tanto, por razones
de brevedad y menos pulsaciones de teclas, en este libro he vuelto al estilo anterior de <br>,
<hr>, etc.
El Servidor WEB Apache
Además de PHP, MySQL, JavaScript, CSS y HTML5, en realidad hay un
sexto héroe en la Web dinámica: el servidor web. En el caso de este libro, eso significa
el servidor web Apache. Hemos discutido un poco sobre lo que hace un servidor web
durante el intercambio de servidor / cliente HTTP, pero en realidad hace mucho más
detrás de escena.
Por ejemplo, Apache no solo sirve para archivos HTML, maneja una amplia
gama de archivos desde imágenes y archivos Flash hasta archivos de audio MP3, RSS
(Really Simple Syndication), etc. Para hacer esto, cada elemento que un cliente web
encuentra en una página HTML también se solicita desde el servidor, que luego lo sirve.
Pero estos objetos no tienen que ser archivos estáticos como imágenes GIF. Todos
pueden ser generados por programas tales como scripts PHP. Así es: PHP puede incluso
crear imágenes y otros archivos para usted, ya sea sobre la marcha o de antemano para
publicarlos más tarde.
Para hacer esto, normalmente tiene módulos ya sea precompilados en Apache
o PHP o llamados en tiempo de ejecución. Uno de estos módulos es la biblioteca GD
(Draw de Gráficos), que PHP usa para crear y manejar gráficos.
Apache también es compatible con una gran variedad de módulos propios.
Además del módulo PHP, los más importantes para sus propósitos como programador
web son los módulos que manejan la seguridad. Otros ejemplos son el módulo Rewrite,
que permite que el servidor web maneje un rango variable de tipos de URL y los
reescriba según sus propios requisitos internos, y el módulo Proxy, que puede usar para
facilitar las páginas solicitadas con frecuencia desde un caché para facilitar la carga en
el servidor.
Más adelante en el libro, verá cómo utilizar realmente algunos de estos
módulos para mejorar las características proporcionadas por las tres tecnologías
principales.
Acerca del código abierto
Si la calidad de código abierto de estas tecnologías es la razón por la que son
tan populares a menudo se ha debatido, pero PHP, MySQL y Apache son las tres
herramientas más comúnmente utilizadas en sus categorías.
Sin embargo, lo que se puede decir definitivamente es que su código abierto
significa que han sido desarrollados en la comunidad por equipos de programadores que
escriben las características que ellos mismos quieren y necesitan, con el código original
disponible para que todos lo vean y cambien. Se pueden encontrar errores y las
violaciones de seguridad se pueden prevenir antes de que sucedan.
Hay otro beneficio: todos estos programas son de uso gratuito. No tiene que
preocuparse por tener que comprar licencias adicionales si tiene que ampliar su sitio
web y agregar más servidores. Y no necesita verificar el presupuesto antes de decidir si
desea actualizar a las últimas versiones de estos productos.
Reuniéndolo todo
La belleza real de PHP, MySQL, JavaScript, CSS y HTML5 es la manera
maravillosa en que todos trabajan juntos para producir contenido web dinámico: PHP
maneja todo el trabajo principal en el servidor web, MySQL maneja todos los datos, y la
combinación de CSS y JavaScript se ocupa de la presentación de la página web.
JavaScript también puede hablar con su código PHP en el servidor web siempre que
necesite actualizar algo (ya sea en el servidor o en la página web). Y con las nuevas
funciones potentes en HTML5, como el lienzo, el audio y el video, y la geolocalización,
puede hacer que sus páginas web sean muy dinámicas, interactivas y multimedia.
Sin usar el código del programa, resumamos el contenido de este capítulo
observando el proceso de combinar algunas de estas tecnologías en una característica
diaria de Ajax que utilizan muchos sitios web: verificar si ya existe un nombre de
usuario deseado en el sitio cuando un usuario se registra una nueva cuenta. Un buen
ejemplo de esto se puede ver con Gmail (ver Figura 1-3).
Gmail usa Ajax para verificar la disponibilidad de los nombres de usuario
Los pasos involucrados en este proceso de Ajax serían similares a los siguientes:
1. El servidor genera el código HTML para crear el formulario web, que solicita
los detalles necesarios, como nombre de usuario, nombre, apellido y dirección
de correo electrónico.
2. Al mismo tiempo, el servidor adjunta algo de JavaScript al HTML para
monitorear el cuadro de entrada de nombre de usuario y verificar dos cosas: (a)
si se ha tecleado algún texto, y (b) si la entrada ha sido deseleccionada porque el
usuario ha hecho clic en otro cuadro de entrada.
3. Una vez que el texto ha sido ingresado y el campo deseleccionado, en el fondo el
código JavaScript pasa el nombre de usuario que se ingresó a un script PHP en
el servidor web y espera una respuesta.
4. El servidor web busca el nombre de usuario y responde al JavaScript con
respecto a si ese nombre ya se ha tomado.
5. El JavaScript luego coloca una indicación al lado del cuadro de entrada de
nombre de usuario para mostrar si el nombre está disponible para el usuario, tal
vez una marca de verificación verde o un gráfico de cruz roja, junto con algo de
texto.
6. Si el nombre de usuario no está disponible y el usuario todavía envía el
formulario, el JavaScript interrumpe el envío y vuelve a enfatizar (quizás con un
gráfico más grande y / o un cuadro de alerta) que el usuario necesita elegir otro
nombre de usuario.
7. Opcionalmente, una versión mejorada de este proceso podría incluso buscar el
nombre de usuario solicitado por el usuario y sugerir una alternativa que esté
actualmente disponible.
Todo esto se lleva a cabo silenciosamente en segundo plano y proporciona una
experiencia de usuario cómoda y sin problemas. Sin Ajax, el formulario completo
tendría que enviarse al servidor, que luego enviaría HTML, destacando cualquier error.
Sería una solución factible, pero nada tan ordenada o agradable como el procesamiento
de campo en el momento.
Sin embargo, Ajax puede usarse para mucho más que la simple verificación y
procesamiento de entrada; exploraremos muchas cosas adicionales que puedes hacer
con él en los capítulos de Ajax más adelante en este libro.
En este capítulo, ha leído una buena introducción a las tecnologías básicas de
PHP, MySQL, JavaScript, CSS y HTML5 (además de Apache), y ha aprendido cómo
funcionan juntas. En el Capítulo 2, veremos cómo puede instalar su propio servidor de
desarrollo web para practicar todo lo que va a aprender.
Preguntas
1. ¿Qué cuatro componentes (como mínimo) son necesarios para crear una página
web totalmente dinámica?
2. ¿Qué significa HTML?
3. ¿Por qué el nombre MySQL contiene las letras SQL?
4. PHP y JavaScript son ambos lenguajes de programación que generan resultados
dinámicos para páginas web. ¿Cuál es su principal diferencia, y por qué los
usaría a ambos?
5. ¿Qué significa CSS?
6. Enumera tres elementos principales nuevos introducidos en HTML5.
7. Si encuentra un error (que es raro) en una de las herramientas de código abierto,
¿cómo cree que podría solucionarlo?
Vea el Capítulo 1 Respuestas en el Apéndice A para las respuestas a estas preguntas.
Capítulo 2. Configurar un servidor de desarrollo
Si desea desarrollar aplicaciones de Internet pero no tiene su propio servidor
de desarrollo, deberá cargar cada modificación que realice a un servidor en otro lugar en
la Web antes de poder probarlo.
Incluso en una conexión de banda ancha rápida, esto aún puede representar
una desaceleración significativa en el tiempo de desarrollo. Sin embargo, en una
computadora local, las pruebas pueden ser tan sencillas como guardar una actualización
(por lo general solo es cuestión de hacer clic una vez en un ícono) y luego presionar el
botón Actualizar en su navegador.
Otra ventaja de un servidor de desarrollo es que no tiene que preocuparse por
errores vergonzosos o problemas de seguridad mientras está escribiendo y probando,
mientras que debe ser consciente de lo que la gente puede ver o ver con su aplicación
cuando está en un servidor público. sitio web. Lo mejor es planchar todo mientras aún
está en un sistema de oficina doméstica o pequeña oficina, presumiblemente protegido
por firewalls y otras medidas de seguridad.
Una vez que tenga su propio servidor de desarrollo, se preguntará cómo se las
arregló sin uno, y es fácil configurar uno. Simplemente siga los pasos en las siguientes
secciones, usando las instrucciones apropiadas para una PC, una Mac o un sistema
Linux.
En este capítulo, cubrimos solo el lado del servidor de la experiencia web,
como se describe en el Capítulo 1. Pero para probar los resultados de su trabajo,
especialmente cuando comenzamos a usar JavaScript, CSS y HTML5 más adelante en
este libro, también debe tener una instancia de cada navegador web principal que se
ejecute en algún sistema conveniente para usted. Siempre que sea posible, la lista de
navegadores debe incluir al menos Internet Explorer, Mozilla Firefox, Opera, Safari y
Google Chrome.
Si planea asegurarse de que sus sitios también se vean bien en dispositivos
móviles, también debe intentar organizar el acceso a una amplia gama de teléfonos y
tabletas Apple iOS y Google Android.

Más contenido relacionado

Similar a PHP-MySQL-JS-CSS-HTML5

Similar a PHP-MySQL-JS-CSS-HTML5 (20)

ATIX13
ATIX13ATIX13
ATIX13
 
WordPress PHP
WordPress PHPWordPress PHP
WordPress PHP
 
Symfony
SymfonySymfony
Symfony
 
TEORIA LENGUAJE HTLM
TEORIA LENGUAJE HTLMTEORIA LENGUAJE HTLM
TEORIA LENGUAJE HTLM
 
Servicio internet
Servicio internetServicio internet
Servicio internet
 
Fdg2009
Fdg2009Fdg2009
Fdg2009
 
Luis calero
Luis caleroLuis calero
Luis calero
 
Introducción a Gestores de Contenido web
Introducción a Gestores de Contenido webIntroducción a Gestores de Contenido web
Introducción a Gestores de Contenido web
 
Web matica (herramientas para la creación de webs dinámicas)
Web matica (herramientas para la creación de webs dinámicas)Web matica (herramientas para la creación de webs dinámicas)
Web matica (herramientas para la creación de webs dinámicas)
 
Lenguaje de Programación PHP
Lenguaje de Programación PHPLenguaje de Programación PHP
Lenguaje de Programación PHP
 
Cuaderno online
Cuaderno onlineCuaderno online
Cuaderno online
 
deber de informática
deber de informática deber de informática
deber de informática
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Curso TIC de PHP y MSQL
Curso TIC de PHP y MSQLCurso TIC de PHP y MSQL
Curso TIC de PHP y MSQL
 
Dinamicas
DinamicasDinamicas
Dinamicas
 
Php un lenguaje de programación.........
Php un lenguaje de programación.........Php un lenguaje de programación.........
Php un lenguaje de programación.........
 
Paginas web
Paginas webPaginas web
Paginas web
 
El internet
El internetEl internet
El internet
 
Aaron
AaronAaron
Aaron
 
Bitacora de la unidad 4
Bitacora de la unidad 4Bitacora de la unidad 4
Bitacora de la unidad 4
 

Último

Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx46828205
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptxadso2024sena
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.imejia2411
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
locomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minaslocomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minasMirkaCBauer
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellajuancamilo3111391
 

Último (18)

Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
locomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minaslocomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minas
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ella
 

PHP-MySQL-JS-CSS-HTML5

  • 2. Prefacio_____________________________________________ La combinación de PHP y MySQL es el enfoque más conveniente para el diseño web dinámico basado en bases de datos, resistiéndose a los desafíos de los marcos integrados, como Ruby on Rails, que son más difíciles de aprender. Debido a sus raíces de código abierto (a diferencia del competidor Microsoft .NET Framework), es de implementación gratuita y, por lo tanto, es una opción extremadamente popular para el desarrollo web. Cualquier desarrollador potencial en una plataforma Unix / Linux o incluso una plataforma de Windows / Apache tendrá que dominar estas tecnologías. Y, combinado con las tecnologías asociadas de JavaScript, CSS y HTML5, podrá crear sitios web del calibre de estándares de la industria como Facebook, Twitter y Gmail. Audiencia Este libro es para personas que desean aprender cómo crear sitios web efectivos y dinámicos. Esto puede incluir webmasters o diseñadores gráficos que ya están creando sitios web estáticos pero desean llevar sus habilidades al siguiente nivel, así como a estudiantes de secundaria y universitarios, recién graduados y personas autodidactas. De hecho, cualquier persona dispuesta a aprender los fundamentos de la tecnología Web 2.0 conocida como Ajax obtendrá una sólida base en todas estas tecnologías centrales: PHP, MySQL, JavaScript, CSS y HTML5. Suposiciones que hace este libro Este libro asume que tienes un conocimiento básico de HTML y al menos puede armar un sitio web simple y estático, pero no asume que tienes ningún conocimiento previo de PHP, MySQL, JavaScript, CSS o HTML5, aunque si lo haces, su progreso a través del libro será aún más rápido. Organización de este libro Los capítulos de este libro están escritos en un orden específico, primero presentando todas las tecnologías principales que cubre y luego guiándote a través de su instalación en un servidor de desarrollo web para que estés listo para trabajar con los ejemplos. En la primera sección, obtendrá una conexión a tierra en el lenguaje de programación PHP, que cubre los conceptos básicos de sintaxis, matrices, funciones y programación orientada a objetos.
  • 3. Luego, con PHP en su haber, pasará a una introducción al sistema de base de datos MySQL, donde aprenderá todo, desde cómo se estructuran las bases de datos MySQL hasta cómo generar consultas complejas. Después de eso, aprenderá cómo puede combinar PHP y MySQL para comenzar a crear sus propias páginas web dinámicas mediante la integración de formularios y otras características HTML. A continuación, obtendrá los aspectos prácticos básicos del desarrollo de PHP y MySQL al aprender una variedad de funciones útiles y cómo administrar cookies y sesiones, así como también cómo mantener un alto nivel de seguridad. En los siguientes capítulos, obtendrá una sólida base en JavaScript, desde funciones simples y manejo de eventos hasta acceder al Modelo de Objeto de Documento y validación en el navegador y manejo de errores. Con una comprensión de estas tres tecnologías centrales, aprenderá a hacer llamadas Ajax entre bastidores y a convertir sus sitios web en entornos altamente dinámicos. A continuación, pasará dos capítulos aprendiendo todo sobre el uso de CSS para diseñar y diseñar sus páginas web, antes de pasar a la sección final sobre las nuevas características integradas en HTML5, que incluyen geolocalización, audio, video y lienzo. Después de esto, juntarás todo lo que has aprendido en un conjunto completo de programas que juntos constituyen un sitio web de redes sociales completamente funcional. En el camino, también encontrará muchos consejos y consejos sobre buenas prácticas de programación y consejos que podrían ayudarlo a encontrar y resolver errores de programación difíciles de detectar. También hay muchos enlaces a sitios web que contienen más detalles sobre los temas tratados. Libros de apoyo Una vez que haya aprendido a desarrollar usando PHP, MySQL, JavaScript, CSS y HTML5, estará listo para llevar sus habilidades al siguiente nivel utilizando los siguientes libros de referencia de O'Reilly. Para obtener más información sobre cualquiera de estos títulos, simplemente busque en el sitio web de O'Reilly o en cualquier sitio web de un buen vendedor de libros en línea:  Dynamic HTML: The Definitive Reference by Danny Goodman  PHP in a Nutshell by Paul Hudson  MySQL in a Nutshell by Russell J.T. Dyer  JavaScript: The Definitive Guide by David Flanagan  CSS: The Definitive Guide by Eric A. Meyer  HTML5: The Missing Manual by Matthew MacDonald
  • 4. Las convenciones usadas en este libro Las siguientes convenciones tipográficas se usan en este libro: Texto sin formato Indica títulos de menú, opciones y botones Italica Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivos, extensiones de archivos, nombres de rutas, directorios y utilidades de Unix. Constant width Indica opciones de línea de comandos, variables y otros elementos de código, etiquetas HTML, macros y el contenido de los archivos. Negritas en Ancho Constante Muestra la salida del programa o las secciones destacadas del código que se están discutiendo en el texto. Ancho constante en cursiva Muestra texto que debe reemplazarse por valores proporcionados por el usuario. NOTA Este elemento significa una tips, sugerencia o nota general. Advertencia Este elemento significa advertencia o precaución
  • 5. Usando ejemplos de código El material complementario (ejemplos de código, ejercicios, etc.) está disponible en http://lpmj.net. Este libro está aquí para ayudarlo a hacer su trabajo. En general, si se ofrece un código de ejemplo con este libro, puede usarlo en sus programas y documentación. No necesita contactarnos para obtener permiso a menos que esté reproduciendo una porción significativa del código. Por ejemplo, escribir un programa que usa varios fragmentos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM con ejemplos de libros de O'Reilly requiere permiso. Responder una pregunta citando este libro y citando código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de su producto no requiere permiso. Agradecemos, pero no requerimos, la atribución. Una atribución generalmente incluye el título, autor, editor e ISBN. Por ejemplo: "Aprendiendo PHP, MySQL, JavaScript, CSS y HTML5, tercera edición, por Robin Nixon. Copyright 2014 Robin Nixon, 978-1-4919-4946-7. " Si cree que su uso de ejemplos de código queda fuera del uso legítimo o el permiso otorgado aquí, no dude en ponerse en contacto con nosotros en permissions@oreilly.com. Nos gustaría escuchar de usted Todos los ejemplos de este libro se han probado en varias plataformas, pero ocasionalmente puede encontrar problemas, por ejemplo, si tiene una instalación no estándar o una versión diferente de PHP. La información en este libro también se ha verificado en cada paso del proceso de producción. Sin embargo, pueden ocurrir errores y descuidos y agradeceremos recibir los detalles de los que encuentre, así como cualquier sugerencia que desee realizar en futuras ediciones. Puede contactar al autor y a los editores en: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 (800) 998-9938 (in the United States or Canada) (707) 829-0515 (international or local) (707) 829-0104 (fax) Tenemos una página web para este libro, donde enumeramos erratas, ejemplos y cualquier información adicional. Puede acceder a esta página en http://bit.ly/lpmjch_3e.
  • 6. También hay un sitio web complementario a este libro en http://lpmj.net, donde puede descargar todos los ejemplos de este libro en un solo archivo zip. Para comentar o hacer preguntas técnicas sobre este libro, envíe un correo electrónico a bookquestions@oreilly.com. Para obtener más información sobre nuestros libros, cursos, conferencias y noticias, visite nuestro sitio web en http://www.oreilly.com. Encuéntranos en Facebook: http://facebook.com/oreilly Síganos en Twitter: http://twitter.com/oreillymedia Míranos en YouTube: http://www.youtube.com/oreillymedia Safari® Books Online Safari Books Online (www.safaribooksonline.com) es una biblioteca digital a pedido que ofrece contenido experto en forma de libro y video de los principales autores del mundo en tecnología y negocios. Los profesionales de la tecnología, los desarrolladores de software, los diseñadores web y los profesionales creativos y de negocios usan Safari Books Online como su recurso principal para la capacitación en investigación, resolución de problemas, aprendizaje y certificación. Safari Books Online ofrece una gama de mezclas de productos y programas de fijación de precios para organizaciones, agencias gubernamentales e individuos. Los suscriptores tienen acceso a miles de libros, videos de capacitación y manuscritos previos a la publicación en una base de datos de búsqueda completa de editores como O'Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Prensa, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Tecnología del curso y docenas más. Para obtener más información acerca de Safari Books Online, visítenos en línea. Expresiones de gratitud Me gustaría agradecer una vez más a mi editor, Andy Oram, ya todos los que trabajaron duro en este libro, incluyendo a Albert Wiersch por su exhaustiva revisión técnica, Kristen Brown por la supervisión de la producción, Rachel Monaghan por su corrección, Jasmine Kwityn por su corrección, Robert Romano por sus ilustraciones originales, Rebecca Demarest por sus nuevas ilustraciones, David Futato por diseño de interiores, Lucie Haskins por crear el índice, Karen Montgomery por el diseño original de la cubierta frontal del ala de azúcar, Randy Comer por la última portada del libro y
  • 7. todos los demás son demasiado numerosos para nombrar quién envió la errata y ofreció sugerencias para esta nueva edición.
  • 8. CAPITULO 1: Introducción al Contenido Web Dinamico La World Wide Web es una red en constante evolución que ya viajó mucho más allá de su concepción a principios de la década de 1990, cuando se creó para resolver un problema específico. Los experimentos de vanguardia en el CERN (el Laboratorio Europeo de Física de Partículas-ahora mejor conocido como el operador del Gran Colisionador de Hadrones) producían cantidades increíbles de datos, tanto que los datos resultaban difíciles de distribuir para los participantes. científicos que se extendieron por todo el mundo. En este momento, Internet ya estaba en funcionamiento, con varios cientos de miles de computadoras conectadas, por lo que Tim Berners-Lee (un miembro del CERN) ideó un método para navegar entre ellos utilizando un marco hipervínculo, que se conoció como transferencia de hipertexto. Protocolo o HTTP. También creó un lenguaje de marcado llamado HTML o Hypertext Markup Language. Para unirlos, escribió el primer navegador web y servidor web, herramientas que ahora damos por sentado. Pero en aquel entonces, el concepto era revolucionario. La conectividad más experimentada hasta el momento por los usuarios de módem en el hogar era marcar y conectarse a un tablero de anuncios que estaba alojado en una sola computadora, donde se podía comunicar e intercambiar datos solo con otros usuarios de ese servicio. En consecuencia, era necesario ser miembro de muchos sistemas de tableros de anuncios para poder comunicarse electrónicamente de manera efectiva con sus colegas y amigos. Pero Berners-Lee cambió todo eso de una sola vez, y para mediados de la década de 1990, había tres principales navegadores web gráficos compitiendo por la atención de cinco millones de usuarios. Pronto se hizo obvio, sin embargo, que algo faltaba. Sí, las páginas de texto y gráficos con hipervínculos para llevarlo a otras páginas eran un concepto brillante, pero los resultados no reflejaban el potencial instantáneo de las computadoras y de Internet para satisfacer las necesidades particulares de cada usuario con contenido dinámicamente cambiante. Usar la Web fue una experiencia muy seca y simple, ¡incluso si ahora tuviéramos texto de desplazamiento y GIF animados! Los carritos de compras, los motores de búsqueda y las redes sociales han alterado claramente la forma en que usamos la Web. En este capítulo, veremos brevemente los diversos componentes que componen la Web y el software que ayuda a que sea una experiencia rica y dinámica. NOTA Es necesario comenzar a usar algunos acrónimos más o menos de inmediato. Intenté explicarlos claramente antes de proceder. Pero no se preocupe demasiado por lo que significan o por lo que significan estos nombres, porque los detalles se aclararán a medida que sigan leyendo.
  • 9. HTTP y HTML: Fundamentos de Berners-Lee HTTP es un estándar de comunicación que rige las solicitudes y respuestas que tienen lugar entre el navegador que se ejecuta en la computadora del usuario final y el servidor web. El trabajo del servidor consiste en aceptar una solicitud del cliente e intentar responderla de manera significativa, generalmente publicando una página web solicitada; por eso se usa el término servidor. La contraparte natural de un servidor es un cliente, por lo que ese término se aplica tanto al navegador web como a la computadora en la que se ejecuta. Entre el cliente y el servidor puede haber varios otros dispositivos, como enrutadores, proxies, puertas de enlace, etc. Sirven diferentes roles para garantizar que las solicitudes y las respuestas se transfieren correctamente entre el cliente y el servidor. Por lo general, usan Internet para enviar esta información. Un servidor web generalmente puede manejar múltiples conexiones simultáneas y, cuando no se comunica con un cliente, pasa su tiempo escuchando una conexión entrante. Cuando uno llega, el servidor envía una respuesta para confirmar su recibo. Los Procedimientos Request/Response En su nivel más básico, el proceso de solicitud / respuesta consiste en un navegador web que le pide al servidor web que le envíe una página web y al servidor que devuelve la página. El navegador se encarga de mostrar la página (ver Figura 1-1). Fig 1.1 Secuencia Basica de la Pagina Cliente Servidor procedimientos request/response. Navegador Web La Internet Servidor WEB en www.xxx.com Unidad de Disco En www.xx.com Usuario Entra en http://server.com Busca la IP DE http://server.com Recuperar Pagina Principal de http://server.com Respuesta de la Pagina Indice Se Muestra como se recupera del hd Se Regresa La Pagina IndiceSe Recibe y se Muestra la Pagina
  • 10. Cada paso en la secuencia de solicitud y respuesta es el siguiente: 1. Usted ingresa a http://server.com en la barra de direcciones de su navegador. 2. Su navegador busca la dirección IP de server.com. 3. Su navegador emite una solicitud para la página de inicio en server.com. 4. La solicitud cruza Internet y llega al servidor web server.com. 5. El servidor web, una vez recibida la solicitud, busca la página web en su disco duro. 6. La página web es recuperada por el servidor y devuelta al navegador. 7. Su navegador muestra la página web. Para una página web promedio, este proceso tiene lugar una vez para cada objeto dentro de la página: un gráfico, un video incrustado o un archivo Flash, e incluso una plantilla CSS. En el paso 2, observe que el navegador buscó la dirección IP de server.com. Cada máquina conectada a Internet tiene una dirección IP, su computadora incluida. Pero generalmente accedemos a los servidores web por su nombre, como google.com. Como probablemente sepa, el navegador consulta un servicio de Internet adicional llamado Servicio de nombres de dominio (DNS) para encontrar su dirección IP asociada y luego la usa para comunicarse con la computadora. Para las páginas web dinámicas, el procedimiento es un poco más complicado, porque puede incluir tanto PHP como MySQL en la mezcla (consulte la Figura 1-2). Figure 1-2: Una Dinamica secuencia Cliente Servidor Solicitud / Respuesta Navegador Web Internet Servidor Web PROCESADOR PHP Unidad de Disco Servidor Mysql Usuario Entraen http://server.com BuscalaIP DE http://server.com Recuperar Pagina Principal de http://server.com Respuestade la PaginaIndice Se Muestracomo se recupera del hd Contenido php Se MuestralaPagina Ejecuta SQL Se Recibe Los Datos ProcesosPHP Se Retornala Pagina
  • 11. Estos son los pasos para una secuencia dinámica de solicitud / respuesta de cliente / servidor: 1. Usted ingresa a http://server.com en la barra de direcciones de su navegador. 2. Su navegador busca la dirección IP de server.com. 3. Su navegador emite una solicitud a esa dirección para la página de inicio del servidor web. 4. La solicitud cruza Internet y llega al servidor web server.com. 5. El servidor web, una vez recibida la solicitud, recupera la página de inicio desde su disco duro. 6. Con la página de inicio ahora en la memoria, el servidor web se da cuenta de que se trata de un archivo que incorpora PHP scripting y pasa la página al intérprete de PHP. 7. El intérprete PHP ejecuta el código PHP. 8. Parte del PHP contiene sentencias de MySQL, que el intérprete de PHP pasa ahora al motor de la base de datos MySQL. 9. La base de datos MySQL devuelve los resultados de las declaraciones al intérprete de PHP. 10. El intérprete PHP devuelve los resultados del código PHP ejecutado, junto con los resultados de la base de datos MySQL, al servidor web. 11. El servidor web devuelve la página al cliente solicitante, que la muestra. Aunque es útil conocer este proceso para que sepa cómo funcionan juntos los tres elementos, en la práctica no es necesario que se preocupe por estos detalles, porque todos ocurren automáticamente. Las páginas HTML devueltas al navegador en cada ejemplo pueden contener JavaScript, que el cliente interpretará localmente y que podría iniciar otra solicitud, del mismo modo que lo harían los objetos incrustados, como las imágenes. LOS BENEFICIOS DE PHP, MySQL, JavaScript, CSS, and HTML5 Al comienzo de este capítulo, presenté el mundo de la Web 1.0, pero no pasó mucho tiempo antes de que se apresurara la creación de la Web 1.1, con el desarrollo de mejoras del navegador como Java, JavaScript, JScript (la pequeña variante de JavaScript de Microsoft). ) y ActiveX. En el lado del servidor, se progresó en la Interfaz de puerta de enlace común (CGI) utilizando lenguajes de scripting como Perl (una alternativa al lenguaje PHP) y scripting del lado del servidor: insertando el contenido de un archivo (o la salida de un sistema llamar) a otro de forma dinámica. Una vez que el polvo se había asentado, tres tecnologías principales se destacaban por encima de las demás. Aunque Perl todavía era un lenguaje de scripting popular con muchos seguidores, la simplicidad de PHP y los enlaces integrados al programa de base de datos MySQL le habían ganado más del doble de usuarios. Y JavaScript, que se había convertido en una parte esencial de la ecuación para manipular dinámicamente CSS (Cascading Style Sheets) y HTML, ahora asumió la tarea aún más
  • 12. compleja de manejar el lado del cliente del proceso Ajax. En Ajax, las páginas web realizan el manejo de datos y envían solicitudes a los servidores web en segundo plano, sin que el usuario de la web sepa que esto está sucediendo. Sin duda, la naturaleza simbiótica de PHP y MySQL ayudó a impulsarlos a ambos, pero ¿qué fue lo que atrajo a los desarrolladores para ellos en primer lugar? La respuesta simple tiene que ser la facilidad con la que puede usarlos para crear rápidamente elementos dinámicos en los sitios web. MySQL es un sistema de base de datos rápido y potente, pero fácil de usar, que ofrece casi todo lo que un sitio web necesitaría para encontrar y proporcionar datos a los navegadores. Cuando PHP se alía con MySQL para almacenar y recuperar estos datos, usted tiene las partes fundamentales requeridas para el desarrollo de los sitios de redes sociales y los comienzos de la Web 2.0. Y cuando incorpora JavaScript y CSS a la mezcla también, tiene una receta para crear sitios web altamente dinámicos e interactivos. Usando PHP Con PHP, es una simple cuestión incorporar actividades dinámicas en páginas web. Cuando le da a las páginas la extensión .php, tienen acceso instantáneo al lenguaje de scripting. Desde el punto de vista de un desarrollador, todo lo que tiene que hacer es escribir un código como el siguiente: <?php echo " Today is " . date("l") . ". "; ?> Here's the latest news. La apertura <? Php le dice al servidor web que permita que el programa PHP interprete todo el siguiente código hasta la etiqueta?>. Fuera de este constructo, todo se envía al cliente como HTML directo. Entonces el texto Aquí están las últimas noticias. simplemente se envía al navegador; dentro de las etiquetas PHP, la función de fecha incorporada muestra el día actual de la semana según la hora del sistema del servidor. El resultado final de las dos partes se ve así: Today is Wednesday. Here's the latest news. PHP es un lenguaje flexible, y algunas personas prefieren colocar el constructo PHP directamente al lado del código PHP, así: Today is <?php echo date("l"); ?>. Here's the latest news. También hay otras formas de formatear y generar información, que explicaré en los capítulos sobre PHP. El punto es que con PHP, los desarrolladores web tienen un lenguaje de scripting que, aunque no es tan rápido como compilar su código en C o en un lenguaje similar, es increíblemente rápido y también se integra sin problemas con el marcado HTML.
  • 13. Al usar PHP, tienes control ilimitado sobre tu servidor web. Ya sea que necesites modificar HTML sobre la marcha, procesar una tarjeta de crédito, agregar detalles de usuario a una base de datos o buscar información de un sitio web de un tercero, puedes hacerlo todo desde los mismos archivos PHP en los que reside el HTML. Usando MySQL Por supuesto, no tiene mucho sentido cambiar la salida HTML de forma dinámica a menos que también tenga un medio para rastrear los cambios que hacen los usuarios mientras usan su sitio web. En los primeros días de la Web, muchos sitios usaban archivos de texto "planos" para almacenar datos como nombres de usuario y contraseñas. Pero este enfoque podría causar problemas si el archivo no se bloqueó correctamente contra la corrupción de múltiples accesos simultáneos. Además, un archivo plano puede ser muy grande antes de que se vuelva difícil de manejar, sin mencionar la dificultad de tratar de combinar archivos y realizar búsquedas complejas en cualquier tipo de tiempo razonable. Ahí es donde las bases de datos relacionales con consultas estructuradas se vuelven esenciales. Y MySQL, que es de uso gratuito e instalado en un gran número de servidores web de Internet, se eleva magníficamente para la ocasión. Es un sistema de administración de bases de datos robusto y excepcionalmente rápido que utiliza comandos similares al inglés. El nivel más alto de la estructura MySQL es una base de datos, dentro de la cual puede tener una o más tablas que contienen sus datos. Por ejemplo, supongamos que está trabajando en una tabla llamada usuarios, dentro de la cual ha creado columnas para apellido, primer nombre y correo electrónico, y ahora desea agregar otro usuario. Un comando que puede usar para hacer esto es: INSERT INTO users VALUES('Smith', 'John', 'jsmith@mysite.com'); Por supuesto, como se mencionó anteriormente, habrá emitido otros comandos para crear la base de datos y la tabla y para configurar todos los campos correctos, pero el comando INSERT aquí muestra cuán simple puede ser agregar datos nuevos a una base de datos. El comando INSERT es un ejemplo de SQL (Structured Query Language), un lenguaje diseñado a principios de la década de 1970 y que recuerda a uno de los lenguajes de programación más antiguos, COBOL. Sin embargo, es muy adecuado para las consultas de bases de datos, razón por la cual todavía está en uso después de todo este tiempo. NOTA Si tiene la intención de ingresar los ejemplos de PHP en este libro para trabajar conmigo,debe recordar agregar <? Php al frente y?> Después de ellos para asegurarse de que el intérprete de PHP los procese. Para facilitar esto, es posible que desee preparar un archivo llamado example.php con esas etiquetas en su lugar.
  • 14. Es igualmente fácil buscar datos. Supongamos que tiene una dirección de correo electrónico para un usuario y necesita buscar el nombre de esa persona. Para hacer esto, podría emitir una consulta MySQL como: SELECT surname,firstname FROM users WHERE mail='jsmith@mysite.com'; MySQL luego devolverá Smith, John y cualquier otro par de nombres que puedan estar asociados con esa dirección de correo electrónico en la base de datos. Como era de esperar, hay mucho más que puedes hacer con MySQL que los simples comandos INSERT y SELECT. Por ejemplo, puede unir varias tablas de acuerdo con varios criterios, solicitar resultados en una variedad de órdenes, hacer coincidencias parciales cuando conoce solo una parte de la cadena que está buscando, solo devuelve el enésimo resultado y mucho más. Usando PHP, puede hacer todas estas llamadas directamente a MySQL sin tener que ejecutar el programa MySQL usted mismo o usar su interfaz de línea de comandos. Esto significa que puede guardar los resultados en matrices para su procesamiento y realizar búsquedas múltiples, cada una de las cuales depende de los resultados devueltos de las anteriores, para explorar hasta el elemento de datos que necesita. Para obtener aún más potencia, como verá más adelante, hay funciones adicionales incorporadas en MySQL que puede invocar para operaciones comunes y velocidad extra. Usando JavaScript La más antigua de las tres tecnologías principales de este libro, JavaScript, se creó para permitir el acceso de scripts a todos los elementos de un documento HTML. En otras palabras, proporciona un medio para la interacción dinámica del usuario, como verificar la validez de la dirección de correo electrónico en formularios de entrada, mostrar mensajes como "¿De verdad quiso decir eso?", Y así sucesivamente (tenga en cuenta que no se puede confiar en él). seguridad, que siempre debe realizarse en el servidor web). Combinado con CSS (consulte la siguiente sección), JavaScript es el poder detrás de las páginas web dinámicas que cambian frente a sus ojos en lugar de cuando el servidor devuelve una página nueva. Sin embargo, JavaScript también puede ser difícil de usar, debido a algunas diferencias importantes en la forma en que diferentes diseñadores de navegadores han elegido implementarlo. Esto se produjo principalmente cuando algunos fabricantes intentaron poner funcionalidad adicional en sus navegadores a expensas de la compatibilidad con sus rivales. Afortunadamente, los desarrolladores han vuelto en sí a la realidad y se han dado cuenta de la necesidad de una compatibilidad total entre ellos, para que no tengan que escribir código de excepción múltiple. Pero quedan millones de navegadores heredados que se utilizarán durante muchos años. Afortunadamente, existen soluciones para los
  • 15. problemas de incompatibilidad, y más adelante en este libro veremos bibliotecas y técnicas que le permiten ignorar estas diferencias de manera segura. Por ahora, echemos un vistazo rápido a cómo puede usar JavaScript básico, aceptado por todos los navegadores: <script type="text/javascript"> document.write("Today is " + Date() ); </script> Este fragmento de código le dice al navegador que interprete todo en las etiquetas de script como JavaScript, lo que el navegador hace al escribir el texto Hoy es para el documento actual, junto con la fecha, usando la función de JavaScript Fecha. El resultado se verá algo como esto: Today is Sun Jan 01 2017 01:23:45 Como se mencionó anteriormente, JavaScript fue desarrollado originalmente para ofrecer control dinámico sobre los diversos elementos dentro de un documento HTML, y ese sigue siendo su uso principal. Pero cada vez más, JavaScript se está utilizando para Ajax. Este es un término para el proceso de acceso al servidor web en segundo plano. (Originalmente significaba "JavaScript y XML asíncronos", pero esa frase ya está un poco desactualizada). Ajax es el proceso principal detrás de lo que ahora se conoce como Web 2.0 (un término popularizado por Tim O'Reilly, fundador y CEO de la compañía editorial de este libro), en el que las páginas web han comenzado a parecerse a los programas independientes, porque no lo hacen. tienen que ser recargados en su totalidad. En cambio, una llamada rápida de Ajax puede incorporar y actualizar un solo elemento en una página web, como cambiar su fotografía en un sitio de red social o reemplazar un botón con el que hace clic con la respuesta a una pregunta. Este tema está completamente cubierto en el Capítulo 18. Usando CSS Con la aparición del estándar CSS3 en los últimos años, CSS ahora ofrece un nivel de interactividad dinámica previamente soportado solo por JavaScript. Por ejemplo, no solo puede darle estilo a cualquier elemento HTML para cambiar sus dimensiones, colores, bordes, espaciado, etc., sino que ahora también puede agregar NOTA A menosque necesite especificarunaversiónexactade JavaScript,normalmentepuede omitirtype = "text/ javascript"ysimplemente use <script> para comenzar la interpretación de JavaScript.
  • 16. transiciones animadas y transformaciones a sus páginas web, usando solo unas pocas líneas de CSS. Usar CSS puede ser tan simple como insertar algunas reglas entre las etiquetas <style> y </ style> en el encabezado de una página web, como esta: <style> p { text-align:justify; font-family:Helvetica; } </style> Estas reglas cambiarán la alineación de texto predeterminada de la etiqueta <p> para que los párrafos que contiene estén completamente justificados y usen la fuente Helvetica. Como aprenderá en el Capítulo 19, hay muchas maneras diferentes de diseñar reglas de CSS, y también puede incluirlas directamente dentro de las etiquetas o guardar un conjunto de reglas en un archivo externo para cargarlas por separado. Esta flexibilidad no solo le permite diseñar su HTML de forma precisa, sino que también puede, por ejemplo, proporcionar una función integrada de desplazamiento para animar objetos a medida que el mouse pasa sobre ellos. También aprenderá cómo acceder a todas las propiedades CSS de un elemento desde JavaScript y HTML. Y luego está HTML5 A pesar de lo útiles que resultaron todas estas adiciones a los estándares web, no fueron suficientes para desarrolladores más ambiciosos. Por ejemplo, todavía no existía una forma simple de manipular gráficos en un navegador web sin recurrir a complementos como Flash. Y lo mismo ocurrió con la inserción de audio y video en páginas web. Además, varias inconsistencias molestas se habían infiltrado en HTML durante su evolución. Por lo tanto, para aclarar todo esto y llevar Internet más allá de la Web 2.0 y en su próxima iteración, se creó un nuevo estándar para HTML para abordar todas estas deficiencias. Se llamó HTML5 y comenzó a desarrollarse ya en 2004, cuando el primer borrador fue elaborado por Mozilla Foundation y Opera Software (desarrolladores de dos populares navegadores web). Pero no fue hasta el comienzo de 2013 que el borrador final fue presentado al Consorcio de la World Wide Web (W3C), el organismo de gobierno internacional para estándares web. Con nueve años para que se desarrolle, podría pensar que ese sería el final de la especificación, pero así no es como funcionan las cosas en Internet. Aunque los sitios web van y vienen a gran velocidad, el software subyacente se desarrolla lenta y cuidadosamente, por lo que la recomendación estable para HTML5 no se espera hasta después de que se publique esta edición del libro, a fines de 2014. ¿Y adivinen qué? El trabajo pasará a las versiones 5.1 y posteriores, comenzando en 2015. Es un ciclo de desarrollo sin fin.
  • 17. Sin embargo, aunque HTML5.1 está pensado para ofrecer algunas mejoras prácticas (principalmente en el lienzo), HTML5 básico es el nuevo estándar que los desarrolladores web ahora necesitan para trabajar, y se mantendrá en su lugar por muchos años más. Por lo tanto, aprender todo lo que puedas sobre él ahora te hará ser muy útil. En realidad, hay muchas cosas nuevas en HTML (y bastantes cosas que se han cambiado o eliminado), pero en resumen, esto es lo que obtienes Markup Incluye elementos nuevos como <nav> y <footer>, y elementos obsoletos como <font> y <center>. Nuevas APIs Por ejemplo, el elemento <canvas> para escribir y dibujar en un lienzo de gráficos, elementos <audio> y <video>, aplicaciones web sin conexión, microdatos y almacenamiento local. Aplicaciones Incluye dos nuevas tecnologías de renderizado: MathML (lenguaje de marcado matemático) para mostrar fórmulas matemáticas) y SVG (Scalable Vector Graphics) para crear elementos gráficos fuera del nuevo elemento <canvas>. Sin embargo, MathML y SVG son algo especializados, y están tan repletos de funciones que necesitarían un libro propio, por lo que no los cubro aquí. Todas estas cosas (y más) están cubiertas en detalle a partir del Capítulo 22. NOTA Una de las pequeñas cosas que me gusta de la especificación HTML5 es que la sintaxis XHTML ya no esnecesariaparalos elementosde cierre automático.Enel pasado,podíamostrar un salto de línea con el elemento <br>. Luego, para asegurar la compatibilidad futura con XHTML (el reemplazo planeado para HTML que nunca sucedió), esto se cambió a <br />, en el que se agregó uncierre / carácter (porque se esperabaque todosloselementosincluyeran una etiqueta de cierre con este personaje ) Pero ahora las cosas han dado un giro completo y puedesusarcualquierade lasversionesde estos tipos de elementos. Por lo tanto, por razones de brevedad y menos pulsaciones de teclas, en este libro he vuelto al estilo anterior de <br>, <hr>, etc.
  • 18. El Servidor WEB Apache Además de PHP, MySQL, JavaScript, CSS y HTML5, en realidad hay un sexto héroe en la Web dinámica: el servidor web. En el caso de este libro, eso significa el servidor web Apache. Hemos discutido un poco sobre lo que hace un servidor web durante el intercambio de servidor / cliente HTTP, pero en realidad hace mucho más detrás de escena. Por ejemplo, Apache no solo sirve para archivos HTML, maneja una amplia gama de archivos desde imágenes y archivos Flash hasta archivos de audio MP3, RSS (Really Simple Syndication), etc. Para hacer esto, cada elemento que un cliente web encuentra en una página HTML también se solicita desde el servidor, que luego lo sirve. Pero estos objetos no tienen que ser archivos estáticos como imágenes GIF. Todos pueden ser generados por programas tales como scripts PHP. Así es: PHP puede incluso crear imágenes y otros archivos para usted, ya sea sobre la marcha o de antemano para publicarlos más tarde. Para hacer esto, normalmente tiene módulos ya sea precompilados en Apache o PHP o llamados en tiempo de ejecución. Uno de estos módulos es la biblioteca GD (Draw de Gráficos), que PHP usa para crear y manejar gráficos. Apache también es compatible con una gran variedad de módulos propios. Además del módulo PHP, los más importantes para sus propósitos como programador web son los módulos que manejan la seguridad. Otros ejemplos son el módulo Rewrite, que permite que el servidor web maneje un rango variable de tipos de URL y los reescriba según sus propios requisitos internos, y el módulo Proxy, que puede usar para facilitar las páginas solicitadas con frecuencia desde un caché para facilitar la carga en el servidor. Más adelante en el libro, verá cómo utilizar realmente algunos de estos módulos para mejorar las características proporcionadas por las tres tecnologías principales. Acerca del código abierto Si la calidad de código abierto de estas tecnologías es la razón por la que son tan populares a menudo se ha debatido, pero PHP, MySQL y Apache son las tres herramientas más comúnmente utilizadas en sus categorías. Sin embargo, lo que se puede decir definitivamente es que su código abierto significa que han sido desarrollados en la comunidad por equipos de programadores que escriben las características que ellos mismos quieren y necesitan, con el código original disponible para que todos lo vean y cambien. Se pueden encontrar errores y las violaciones de seguridad se pueden prevenir antes de que sucedan. Hay otro beneficio: todos estos programas son de uso gratuito. No tiene que preocuparse por tener que comprar licencias adicionales si tiene que ampliar su sitio web y agregar más servidores. Y no necesita verificar el presupuesto antes de decidir si desea actualizar a las últimas versiones de estos productos.
  • 19. Reuniéndolo todo La belleza real de PHP, MySQL, JavaScript, CSS y HTML5 es la manera maravillosa en que todos trabajan juntos para producir contenido web dinámico: PHP maneja todo el trabajo principal en el servidor web, MySQL maneja todos los datos, y la combinación de CSS y JavaScript se ocupa de la presentación de la página web. JavaScript también puede hablar con su código PHP en el servidor web siempre que necesite actualizar algo (ya sea en el servidor o en la página web). Y con las nuevas funciones potentes en HTML5, como el lienzo, el audio y el video, y la geolocalización, puede hacer que sus páginas web sean muy dinámicas, interactivas y multimedia. Sin usar el código del programa, resumamos el contenido de este capítulo observando el proceso de combinar algunas de estas tecnologías en una característica diaria de Ajax que utilizan muchos sitios web: verificar si ya existe un nombre de usuario deseado en el sitio cuando un usuario se registra una nueva cuenta. Un buen ejemplo de esto se puede ver con Gmail (ver Figura 1-3). Gmail usa Ajax para verificar la disponibilidad de los nombres de usuario Los pasos involucrados en este proceso de Ajax serían similares a los siguientes: 1. El servidor genera el código HTML para crear el formulario web, que solicita los detalles necesarios, como nombre de usuario, nombre, apellido y dirección de correo electrónico. 2. Al mismo tiempo, el servidor adjunta algo de JavaScript al HTML para monitorear el cuadro de entrada de nombre de usuario y verificar dos cosas: (a) si se ha tecleado algún texto, y (b) si la entrada ha sido deseleccionada porque el usuario ha hecho clic en otro cuadro de entrada. 3. Una vez que el texto ha sido ingresado y el campo deseleccionado, en el fondo el código JavaScript pasa el nombre de usuario que se ingresó a un script PHP en el servidor web y espera una respuesta.
  • 20. 4. El servidor web busca el nombre de usuario y responde al JavaScript con respecto a si ese nombre ya se ha tomado. 5. El JavaScript luego coloca una indicación al lado del cuadro de entrada de nombre de usuario para mostrar si el nombre está disponible para el usuario, tal vez una marca de verificación verde o un gráfico de cruz roja, junto con algo de texto. 6. Si el nombre de usuario no está disponible y el usuario todavía envía el formulario, el JavaScript interrumpe el envío y vuelve a enfatizar (quizás con un gráfico más grande y / o un cuadro de alerta) que el usuario necesita elegir otro nombre de usuario. 7. Opcionalmente, una versión mejorada de este proceso podría incluso buscar el nombre de usuario solicitado por el usuario y sugerir una alternativa que esté actualmente disponible. Todo esto se lleva a cabo silenciosamente en segundo plano y proporciona una experiencia de usuario cómoda y sin problemas. Sin Ajax, el formulario completo tendría que enviarse al servidor, que luego enviaría HTML, destacando cualquier error. Sería una solución factible, pero nada tan ordenada o agradable como el procesamiento de campo en el momento. Sin embargo, Ajax puede usarse para mucho más que la simple verificación y procesamiento de entrada; exploraremos muchas cosas adicionales que puedes hacer con él en los capítulos de Ajax más adelante en este libro. En este capítulo, ha leído una buena introducción a las tecnologías básicas de PHP, MySQL, JavaScript, CSS y HTML5 (además de Apache), y ha aprendido cómo funcionan juntas. En el Capítulo 2, veremos cómo puede instalar su propio servidor de desarrollo web para practicar todo lo que va a aprender. Preguntas 1. ¿Qué cuatro componentes (como mínimo) son necesarios para crear una página web totalmente dinámica? 2. ¿Qué significa HTML? 3. ¿Por qué el nombre MySQL contiene las letras SQL? 4. PHP y JavaScript son ambos lenguajes de programación que generan resultados dinámicos para páginas web. ¿Cuál es su principal diferencia, y por qué los usaría a ambos? 5. ¿Qué significa CSS? 6. Enumera tres elementos principales nuevos introducidos en HTML5. 7. Si encuentra un error (que es raro) en una de las herramientas de código abierto, ¿cómo cree que podría solucionarlo? Vea el Capítulo 1 Respuestas en el Apéndice A para las respuestas a estas preguntas.
  • 21.
  • 22. Capítulo 2. Configurar un servidor de desarrollo Si desea desarrollar aplicaciones de Internet pero no tiene su propio servidor de desarrollo, deberá cargar cada modificación que realice a un servidor en otro lugar en la Web antes de poder probarlo. Incluso en una conexión de banda ancha rápida, esto aún puede representar una desaceleración significativa en el tiempo de desarrollo. Sin embargo, en una computadora local, las pruebas pueden ser tan sencillas como guardar una actualización (por lo general solo es cuestión de hacer clic una vez en un ícono) y luego presionar el botón Actualizar en su navegador. Otra ventaja de un servidor de desarrollo es que no tiene que preocuparse por errores vergonzosos o problemas de seguridad mientras está escribiendo y probando, mientras que debe ser consciente de lo que la gente puede ver o ver con su aplicación cuando está en un servidor público. sitio web. Lo mejor es planchar todo mientras aún está en un sistema de oficina doméstica o pequeña oficina, presumiblemente protegido por firewalls y otras medidas de seguridad. Una vez que tenga su propio servidor de desarrollo, se preguntará cómo se las arregló sin uno, y es fácil configurar uno. Simplemente siga los pasos en las siguientes secciones, usando las instrucciones apropiadas para una PC, una Mac o un sistema Linux. En este capítulo, cubrimos solo el lado del servidor de la experiencia web, como se describe en el Capítulo 1. Pero para probar los resultados de su trabajo, especialmente cuando comenzamos a usar JavaScript, CSS y HTML5 más adelante en este libro, también debe tener una instancia de cada navegador web principal que se ejecute en algún sistema conveniente para usted. Siempre que sea posible, la lista de navegadores debe incluir al menos Internet Explorer, Mozilla Firefox, Opera, Safari y Google Chrome. Si planea asegurarse de que sus sitios también se vean bien en dispositivos móviles, también debe intentar organizar el acceso a una amplia gama de teléfonos y tabletas Apple iOS y Google Android.