Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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.
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.
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:
Italica
Constant width
Muestra la salida del programa o las secciones destacadas del código que se
están discutiendo en el texto.
Muestra texto que debe reemplazarse por valores proporcionados por el usuario.
NOTA
Advertencia
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.
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.
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:
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
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.
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
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
Se Recibe y se Pagina Indice
Muestra la Pagina
Fig 1.1 Secuencia Basica de la Pagina Cliente Servidor procedimientos request/response.
Cada paso en la secuencia de solicitud y respuesta es el siguiente:
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.
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
Contenido
php
Procesos PHP
Ejecuta SQL
Se Recibe Los
Datos
Se Retorna la
Pagina
Se Muestra la Pagina
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.
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
<?php
echo " Today is " . date("l") . ". ";
?>
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.
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.
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:
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.
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:
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.
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:
NOTA
A menos que necesite especificar una versión exacta de JavaScript, normalmente puede
omitir type = "text / javascript" y simplemente use <script> para comenzar la interpretación de
JavaScript.
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
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>
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
Nuevas APIs
Aplicaciones
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 es necesaria para los elementos de cierre automático. En el pasado, podía mostrar
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ó un cierre / carácter (porque se esperaba que todos los elementos incluyeran una
etiqueta de cierre con este personaje ) Pero ahora las cosas han dado un giro completo y
puedes usar cualquiera de las versiones de 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
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.
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
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.
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.
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?
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.
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.