Introducción
A quién va dirigido este libro
Temas analizados en el libro
Requisitos para utilizar este libro
Código fuente
Convenciones utilizadas
Asistencia al cliente
Código fuente y actualizaciones
Erratas
p2p.wrox.com
Díganos qué opinaParte I. Primeros pasos
1. Introducción y configuración de la instalación
Configurar la instalación
Breve introducción a PHP, Apache, MySQL y al código abierto
¿Qué es el código abierto?
Breve historia de las iniciativas de código abierto
Razones de la importancia del código abierto
Funcionamiento de los componentes del módulo AMP
Apache
PHP
MySQL
PHP5: el futuro de PHP
Breve repaso de PHP5
Cómo afectan los cambios de PHP5 a este libro
Configurar la instalación de Apache
Añadir PHP a la ecuación
Raíz del documento
Configurar la instalación de PHP
Probar la instalación
Personalizar la instalación
Configurar la instalación de MySQL
Probar la instalación
Configurar la instalación
El archivo my.cnf
Configurar usuarios y privilegios
Ejercicio: configurar privilegios
Cómo funciona
Ayuda y otras valiosas fuentes de consulta
Ayuda con los programas
Sitios Web de consulta
Instaladores AMP
Foxserv
PHPTriad
NuSphere Technology Platform
Resumen
Parte II. El sitio Web Movie Review
2. Crear páginas PHP
Repaso a la estructura y la sintaxis de PHP
Cómo encaja PHP con HTML
Reglas sintácticas de PHP
La importancia de las prácticas de creación de código
Qué convierte a un programa en especial
Razones para preocuparse por el aspecto del código
Crear el primer programa
Ejercicio: utilizar echo
Cómo funciona
Utilizar HTML en las páginas
Integrar HTML con PHP
Ejercicio: utilizar PHP dentro de HTML
Consideraciones con HTML dentro de PHP
Utilizar constantes y variables en las páginas
Repaso a las constantes
Ejercicio: utilizar constantes
Cómo funciona
Repaso a las variables
Ejercicio: utilizar variables
Cómo funciona
Pasar variables entre páginas
register_globals
Pasar variables a través de un URL
Ejercicio: utilizar variables de URL
Cómo funciona
Caracteres especiales en URL
Pasar a través de sesiones
Qué es una sesión
Ejercicio: pasar el nombre del visitante
Cómo funciona
Qué es una cookie
Ejercicio: configurar una cookie
Cómo funciona
Pasar a través de formularios
Formularios
Ejercicio: utilizar formularios para conseguir información
Cómo funciona
Utilizar argumentos if/else
Utilizar instrucciones if
Operadores
Consideraciones de sintaxis especiales
Ejercicio: utilizar if
Cómo funciona
Utilizar if y else de forma conjunta
Ejercicio: utilizar if y else
Cómo funciona
Utilizar archivos de inclusión para la eficacia del código
Ejercicio: añadir un mensaje de bienvenida
Cómo funciona
Utilizar funciones para mejorar la eficacia del código
Ejercicio: trabajar con funciones
Cómo funciona
Matrices
Sintaxis de una matriz
Ordenar matrices
Ejercicio: ordenar una matriz
Cómo funciona
Construcciones foreach
Ejercicio: añadir matrices
Cómo funciona
Ya que está aquí
Ejercicio: utilizar la función while
Cómo funciona
Sintaxis alternativa para PHP
Alternativas de las etiquetas
Alternativas del comando echo
Alternativas de los operadores lógicos
Alternativas para las comillas dobles: utilizar heredoc
Alternativas para incrementar valores
Resumen
Ejercicios
3. Utilizar PHP con MySQL
Repaso a la estructura y la sintaxis de MySQL
Estructura de MySQL
Tipos de campos
Lista de comprobación para seleccionar el tipo de datos correcto
null/not null
Índices
Unique
Auto Increment
Otros parámetros
Tipos de tablas MySQL
MyISAM
ISAM
HEAP
InnoDB
BDB
Sintaxis y comandos de MySQL
PHP y MySQL
Conectarse al servidor MySQL
Analizar una base de datos prefabricada
Ejercicio: crear una base de datos
Cómo funciona
Consultar la base de datos
WHERE
Ejercicio: utilizar la consulta SELECT
Cómo funciona
Trabajar con PHP y matrices de datos: foreach
Ejercicio: utilizar foreach
Historia de dos tablas
Ejercicio: hacer referencia a tablas individuales
Cómo funciona
Ejercicio: Unir dos tablas
Cómo funciona
Consejos y sugerencias
Documentación
Utilizar PHPMyAdmin
Resumen
Ejercicios
4. Utilizar tablas para mostrar datos
Crear una tabla
Ejercicio: definir los encabezados de la tabla
Cómo funciona
Completar la tabla
Ejercicio: completar la tabla con datos
Cómo funciona
Ejercicio: combinar todos los elementos
Ejercicio: mejorar la tabla
Cómo funciona
Quién es el dueño
Ejercicio: añadir enlaces a la tabla
Cómo funciona
Ejercicio: añadir datos a la tabla
Cómo funciona
Ejercicio: calcular los ingresos de una película
Cómo funciona
Ejercicio: mostrar la nueva información
Cómo funciona
Ejercicio: mostrar detalles de las películas
Cómo funciona
Una relación duradera
Ejercicio: crear y completar una tabla de críticas de películas
Cómo funciona
Ejercicio: consultar las críticas
Cómo funciona
Ejercicio: mostrar las críticas
Cómo funciona
Resumen
5.Elementos de un formulario: dejar que el usuariotrabaje con datos
Su primer formulario
Ejercicio: mostrar un nombre
Cómo funciona
El elemento FORM
El elemento INPUT
Procesar el formulario
Controlar las entradas del usuario
Ejercicio: limitar las opciones del usuario
Cómo funciona
Tipo de entrada Casilla de verificación
Un formulario, procesamiento múltiple
Ejercicio: botón de opción, cuadros de lista de varias líneas
Cómo funciona
Elemento de entrada botón de opción
Varios botones de envío
Prueba básica de entrada
Título de página dinámico
Manipular una cadena como una matriz para cambiar el tamañodel primer carácter
Operador ternario
Utilizar todos los elementos
Ejercicio: entradas ocultas y contraseñas
Cómo funciona
La secuencia de comandos básica
Respuesta predeterminada
Añadir elementos
Resumen
6. Dejar que el usuario modifique la base de datos
Preparar el campo de batalla
Ejercicio: configurar el entorno
Cómo funciona
Añadir un registro desde phpMyAdmin
Ejercicio: añadir datos sencillos
Cómo funciona
Añadir un registro en una base de datos relacional
Ejercicio: añadir una película con tipo de película y reparto conocidos
Cómo funciona
Eliminar un registro
Ejercicio: eliminar un solo registro
Cómo funciona
Eliminación en cascada
Ejercicio: eliminación en cascada
Cómo funciona
Modificar datos en un registro
Ejercicio: modificar una película
Cómo funciona
A continuación
Resumen
7. Validar entradas del usuario
Los usuarios son usuarios
¿Y ahora qué?
¿Ha olvidado algo?
Ejercicio: configurar el entorno
Cómo funciona
Comprobar la presencia de errores de formato
Ejercicio: comprobar datos y números
Cómo funciona
Resumen
8. Solucionar y evitar errores
Cómo resuelve los errores el servidor Web Apache
Directiva ErrorDocument de Apache
Ejercicio: utilizar el método ErrorDocument de Apache
Cómo funciona
ErrorDocument de Apache: página de error personalizado avanzada
Solucionar errores y crear páginas de resolución de errores con PHP
Tipos de errores en PHP
Generar errores PHP
Otros métodos de resolución de errores
Incumplir condiciones
Variables que no se representan
Errores de análisis
Resumen
Ejercicios
Parte III. Sitio Comic Book Fan
9. Crear bases de datos
Primeros pasos
Nam et Ipsa Scientia Potestas Est
Qué es una base de datos relacional
Claves
Relaciones
Integridad referencial
Normalización
Diseñar una base de datos
Crear la primera tabla
¿Qué es tan normal sobre estas formas?
Estandarización
Finalizar el diseño de la base de datos
Crear una base de datos en MySQL
Ejercicio: crear la tabla
Funcionamiento
Crear la aplicación de personajes de comic
Ejercicio: el sitio de personajes de comic
Funcionamiento
poweredit.php
charlist.php
charedit.php
char_transact.php
Resumen
10. Enviar correos electrónicos con PHP
Configurar PHP para utilizar el correo electrónico
Enviar un correo electrónico
Ejercicio: enviar un sencillo correo electrónico
Funcionamiento
Ejercicio: recopilar datos y enviar un correo electrónico
Funcionamiento
Decorar correos electrónicos con HTML
Ejercicio: enviar código de HTML en un correo electrónico
Funcionamiento
Ejercicio: enviar HTML por medio de encabezados
Funcionamiento
Mensajes de varias partes
Ejercicio: mensajes de varias partes
Funcionamiento
Almacenar imágenes
Ejercicio: almacenar imágenes
Funcionamiento
Obtener confirmación
Ejercicio: obtener confirmación
Funcionamiento
Resumen
11. Inicios de sesión, perfiles y personalización de usuarios
La forma más sencilla de proteger sus archivos
Ejercicio: crear archivos htaccess y htpasswd
Funcionamiento
Inicios de sesión con las funciones de sesión y cookies de PHP
Ejercicio: utilizar PHP para inicios de sesión
Funcionamiento
Utilizar información controlada por bases de datos
Ejercicio: realizar el seguimiento de sesiones con PHP y MySQL
Funcionamiento
Ejercicio: realizar el seguimiento de cookies con PHP
Funcionamiento
Ejercicio: sección de administración
Funcionamiento
Resumen
12. Crear un sistema de administración de contenidos
Hacer que los usuarios vuelvan
Contenido
Administración
Sistema
Combinar todos los elementos
Primeros pasos
Ejercicio: la aplicación Sistema de administración de contenidos
Funcionamiento
Conectarse al origen de datos
Crear las tablas de la base de datos
Crear funciones reutilizables
Páginas de transacción
transact-article.php
cpanel.php
footer.php
compose.php
comment.php
search.php
forgotpass.php y viewarticle.php
Resumen
13. Listas de correo
Primeros pasos
¿Qué quiere enviar hoy?
El código de la aplicación
Ejercicio: administración de listas de correo
Funcionamiento
Suscríbame
Ejercicio: suscripción a listas de correo
Funcionamiento
user.php
user_transact.php
thanks.php
remove.php
La ética de las listas de correo
Correo basura
Inclusión frente a exclusión
Resumen
14. Venta en línea: una rápida introducción al comercio electrónico
Añadir comercio electrónico al sitio Comic Book Fan
Algo que vender
El carro de la compra
Software de carros de la compra
Código personalizado para el software de carro de la compra
Ejercicio: definir la base de datos y las tablas
Funcionamiento
Ejercicio: añadir productos
Funcionamiento
Ejercicio: crear la página principal de la tienda
Funcionamiento
Ejercicio: ver los productos
Funcionamiento
Ejercicio: crear una tabla para el carro de la compra
Funcionamiento
Ejercicio: añadir productos al carro
Funcionamiento
Ejercicio: ver el carro de la compra
Cómo funciona
Ejercicio: cambiar artículos del carro
Funcionamiento
Ejercicio: pasar por caja, primer paso
Funcionamiento
Ejercicio: pasar por caja, segundo paso
Funcionamiento
Ejercicio: pasar por caja, tercer paso
Funcionamiento
Comercio electrónico
La información lo es todo
La importancia de la confianza
Política de privacidad
Política de devoluciones
Contacto físico
Aspecto profesional
Procesamiento seguro de tarjetas de crédito
Navegación sencilla
Enlaces comunes
Función de búsqueda
Diseño típico
Precios competitivos
Productos adecuados
Plazos de entrega
Comunicación
Información por parte de los clientes
Resumen
Ejercicios
15. Crear un sistema de tablón de anuncios
Historia de los tablones de anuncios informáticos
Su tablón de anuncios
Ejercicio: el código del tablón de anuncios
Ejercicio: la aplicación de tablón de anuncios
Funcionamiento
setup.php
Un último repaso a la autenticación de usuarios
admin.php
Administración del tablón
Administración de usuarios
Administración de foros
Administración de BBcode
Búsquedas
Paginación
Miguitas de pan
Estilos
Últimas consideraciones
Resumen
Ejercicios
Parte IV. Usuarios avanzados
16. Utilizar archivos de registro para mejorar el sitio
Qué es un registro
Dónde se encuentran
Apache
PHP
MySQL
Ahora que ya sé lo que son y dónde se encuentran, ¿qué hago con ellos?
Webalizer
Analog
WebTrends
AWStats
HTTP Analyze
Qué significan los informes
Preferencias e información de los usuarios
Número de visitas y vistas de páginas
Tendencias
Sitios de referencia
Resumen
17. Resolución de problemas
Resolución de problemas de instalación
Errores de análisis
Limpieza en la línea 26..., quiero decir, en la 94
Elemental, querido Watson
Variables vacías
La técnica muerde y cambia definitiva
Nombres de variable coherentes y válidos
Abrir un nuevo navegador
Error de encabezados ya enviados
Consejos generales de depuración
Utilizar echo
Divida y vencerá
Probar, probar y probar
Dónde buscar ayuda
wrox.com
PHPBuilder.com
Sitios Web de consulta
Busca y captura
Canales IRC
Resumen
Parte V. Apéndices
A. Respuestas a los ejercicios
Capítulo 2
Capítulo 3
Capítulo 8
Capítulo 14
Capítulo 15
B. Guía de consulta rápida de PHP
Sintaxis de PHP
Representar en el navegador
Establecer un valor en una variable
Pasar variables
A través de un URL
A través de sesiones
A través de un formulario
Instrucciones if
Instrucciones else
Instrucciones if anidadas
Incluir un archivo
Utilizar funciones
Matrices
for
foreach
C. Funciones de PHP
Funciones de Apache/PHP
Funciones de matriz
Funciones de fecha, hora y calendario
Funciones de procesamiento de clases, objetos y funciones
Funciones de directorios y archivos
Funciones de control de errores e inicio de sesión
Funciones HTTP
Funciones de imagen
Funciones de correo
Funciones matemáticas
Funciones varias
Funciones MySQL
Funciones de red
Funciones de búfer de salida
Información de configuración de PHP
Funciones de ejecución de programas
Funciones de revisión ortográfica
Funciones de sesión
Funciones de cadena
Funciones de URL
Funciones de variables
D. Tipos de datos MySQL
E. Guía de consulta rápida de MySQL
Comandos de manipulación de bases de datos
Conectarse a la base de datos
Acceder a la base de datos
Recuperar datos de la base de datos
Cláusulas condicionales
Seleccionar de varias tablas
Ordenar los resultados
Limitar los resultados
F. Comparación de editores de texto
G. Elegir un host de terceros
Opciones de alojamiento
Lenguajes admitidos
Bases de datos admitidas
Control y acceso a servidores
GUI de administración
Uso del ancho de banda y del sitio
Precios
Tomar la decisión
H. Introducción a PEAR
Definición de PEAR
Requisitos
Los paquetes
PEAR DB
Otros paquetes de PEAR
HTML
Autenticación
Pago
Correo
I. Instalación de AMP
Instalación en Windows
Instalar Apache
Instalar PHP
Instalar MySQL
Instalación en Linux
Instalar MySQL
Instalar Apache
Instalar PHP