Capítulo 1. La Web y el contenido dinámico
Internet y HTTP
El papel de PHP y MySQL en el desarrollo Web
Ventajas del uso conjunto de PHP y MySQL
El valor del código abierto
Los elementos de una aplicación PHP
PHP
Apache
SQL y bases de datos relacionales
MySQL
Compatibilidad
Integrar diferentes fuentes de información
Solicitar datos desde una página Web
Preguntas del capítulo uno
Capítulo 2. Instalación
Desarrollo local
Instalación por defecto o completa
Instalar Apache
Instalar PHP
Activar PHP en Mac OS X
Instalar MySQL
Instalar el conector MySQL
Instalación de MySQL en Mac OS X
XAMPP
Trabajar de forma remota
Preguntas del capítulo dos
Capítulo 3. Explorando PHP
PHP y texto HTML
Mostrar texto
Distinguir PHP de HTML
Ladrillos para programar
Variables
Lectura del valor de una variable
Tipos de variables
Ámbito de las variables
Variables
Uso de caracteres especiales en cadenas
Comparar cadenas
Concatenación
Combinar cadenas
Constantes
Constantes predefinidas
Matemáticas
Operadores de asignación combinados
Autoincremento y autodecremento
Preincremento y predecremento
Preguntas del capítulo tres
Capítulo 4. Toma de decisiones en PHP
Expresiones
Definición de los operadores
Número de operandos
Tipos de operandos
Orden de precedencia
Asociación
Operadores relacionales
Igualdad
Operadores de comparación
Operadores lógicos
Condicionales
La instrucción if
La instrucción else
La instrucción elseif
El operador ?
La instrucción switch
La instrucción break
La instrucción default
Bucles
Bucles while
Bucles do...while
Bucles for
Detener un bucle
Instrucciones continue
Preguntas del capítulo cuatro
Capítulo 5. Funciones
Invocar funciones
Definir funciones
Parámetros
Referencias para los parámetros
Archivos incluidos y requeridos en PHP
La instrucción include
La instrucción include_once
Funciones requiere y require_once
Comprobar el funcionamiento de una función
Programación Orientada a Objetos
Crear una clase
Crear una instancia
Métodos y constructores
Ámbito de las variables dentro de las clases
Herencia
El operador extends
El operador parent
Métodos y variables estáticas
Referencias variables
Preguntas del capítulo cinco
Capítulo 6. Matrices
Aspectos básicos de las matrices
Matrices indexadas de forma numérica frentea matrices asociativas
Crear una matriz
Asignación empleando identificadores de matriz
Asignación empleando array
Establecer bucles y referenciar valores para una matriz
Añadir valores a una matriz
Recuento del número de elementos de una matriz
Clasificar matrices
Matrices multidimensionales
Extraer variables de una matriz
Uso de compact para crear una matriz a partir de variables
Funciones de matrices en PHP
Preguntas del capítulo seis
Capítulo 7. Trabajar con MySQL
Base de datos MySQL
Acceso a la base de datos a través de la línea de comandos
Operadores
Comandos
Gestionar la base de datos
Crear usuarios
Crear una base de datos MySQL
Uso de phpMyAdmin
Conceptos básicos de bases de datos
SQL: Lenguaje de Consulta Estructurado
Crear tablas
Añadir datos a una tabla
Manipulación de definiciones de tablas
Cambiar el nombre de una tabla
Cambiar el tipo de datos de una columna
Añadir una columna
Cambiar el nombre de una columna
Eliminar una columna
Eliminar una tabla
Ejecutar consultas en la base de datos
Limitar los resultados empleando WHERE
Especificar el orden
Combinar tablas
Natural join
Join on
Alias
Modificar el contenido de la base de datos
Eliminar el contenido de la base de datos
Funciones de búsqueda
Operadores lógicos
Preguntas del capítulo siete
Capítulo 8. Manejo de bases de datos
Diseño de bases de datos
Bases de datos relacionales
Tipos de relaciones
Relaciones uno a uno
Relaciones uno a muchos
Relaciones muchos a muchos
Normalización
Formas de normalización
Primera forma normal
Segunda forma normal
Tercera forma normal
Columnas de tipos de datos
Respaldo y restauración de datos
Copiar archivos de la base de datos
El comando mysqldump
Respaldo de datos
Restaurar una base de datos MySQL
Trabajando con otros formatos
El comando mysqlimport
Gestión de respaldos
SQL avanzado
Índices
Dónde usar índices
Dónde especificar un índice
Índices multicolumna
El comando EXPLAIN
Selección con la cláusula LEFT JOIN ON
Selección con GROUP BY
Uso de funciones de la base de datos
Funciones de cadenas
Funciones de fecha y hora
Preguntas del capítulo ocho
Capítulo 9. Comunicación entre PHP y MySQL
El proceso
Recursos
Ejecución de consultas sobre la base de datos empleandofunciones de PHP
Añadir información de acceso a la base de datos
Conexión a la base de datos
Errores comunes relacionados con la conexión
Seleccionando la base de datos
Crear una consulta SQL SELECT
Ejecutar la consulta
Obtener y mostrar
Tipos de obtención de datos
Cierre de la conexión
Todo a la vez
Uso de PEAR
Instalación
Unix
Windows
Alojamiento en un ISP
Añadir paquetes adicionales
Reescribimos el ejemplo libros empleando PEAR
Crear una instancia de conexión
Cadena de conexión
Ejecución de consultas
Obtener datos
Cierre
Mensajes de error en PEAR
Preguntas del capítulo nueve
Capítulo 10. Trabajar con formularios
Crear un formulario
Acceder a valores enviados a través de un formulario
Valores por defecto
Métodos para introducir datos
Cuadros de texto
Área de texto
Casillas de verificación
Botones de opción
Elementos ocultos
Cuadros de lista
Trabajar con diferentes valores
Validación de datos
Validación de casillas de selección, botones de seleccióny cuadros de lista
Validación de cuadros de texto y áreas de texto
Creación de un conversor entre pies y metros con PHP
Creación de una herramienta de conversión de zona horariacon PHP
Ejecución de consultas sobre la base de datos empleando datosprocedentes de un formulario
Plantillas
Motores de plantillas
Instalación
Estructura de directorios
Creación de un script de ejemplo
Creación de una plantilla de ejemplo
Preguntas del capítulo diez
Capítulo 11. PHP aplicado
Funciones de cadenas
Aplicar formato a una cadena
Uso de printf
Relleno
Especificar grado de precisión
Uso de sprintf
Longitud
Cambiar a mayúsculas o minúsculas
Comprobar una cadena
Uso de la posición de una cadena y una subcadena para extraerun fragmento de la cadena
Funciones de fecha y hora
Formatos de fecha y hora
Cálculos con fecha y hora
Validación de fechas
Uso de mktime para crear una fecha
Manejo de archivos
Funciones y precauciones
Permisos
Creación de archivos
Eliminar archivos
Renombrar archivos
Contenedores URL
Subir archivos
Acceder al archivo
Validación
Invocar comandos del sistema
Preguntas del capítulo once
Capítulo 12. XHTML
¿Por qué usar XHTML?
XHTML y espacios de nombre de XML
Versiones de XHTML
Tipos de documentos
Herramientas de validación
Errores comunes de validación
Compatibilidad con navegadores antiguos
Generar XHTML con PHP
Preguntas del capítulo doce
Capítulo 13. Modificar objetos de MySQL y datos de PHP
Modificar objetos de la base de datos desde PHP
Creación de una tabla
Eliminar una tabla
Los errores suceden
Manejo de los datos en una tabla
Añadir datos
Mostrar resultados con vínculos insertados
Mostrar un formulario que añade y procesa datosen un único archivo
Inyección de código SQL
Ataques Cross-Site Scripting
Subir datos
Eliminar datos
Generar identificadores únicos
Ejecutar una subconsulta
Preguntas del capítulo trece
Capítulo 14. Cookies, sesiones y control de acceso
Cookies
Configurar una cookie
Acceder a una cookie
Destruir una cookie
Autentificación HTTP y PHP
Almacenar un usuario y una contraseña en una base de datos
Sesiones
Uso de sesiones
Ampliamos nuestro ejemplo de acceso al sistema
Cerrar una sesión
Garbage collection
Establecer la caducidad de una sesión
Uso de la base de datos para almacenar sesiones
Autentificación empleando Auth_HTTP
Preguntas del capítulo 14
Capítulo 15. Seguridad
Limitar el acceso a las páginas de administración
Incluir archivos
Almacenar contraseñas en la base de datos
El problema de las variables automáticas globales
Seguridad en la sesión
Robo y fijación de sesión
Confiar en los datos de los usuarios
Problemas derivados del alojamiento compartido
Evitar el acceso a la base de datos
Bloquear el acceso de servidores externos a la base de datos
Crear distintos usuarios de la base de datos
Cross-site scripting
Preguntas del capítulo quince
Capítulo 16. Validación y gestión de errores
Validar datos procedentes de usuarios empleando JavaScript
Coincidencia de patrones
Cuantificadores
Anclas
Clases de caracteres
Ejecutar patrones de coincidencia en PHP
preg_match
Mostrar de nuevo un formulario después de que fallela validación PHP
Registro de errores
Preguntas del capítulo dieciséis
Capítulo 17. Aplicación de ejemplo
Archivo de configuración
Marco de trabajo de páginas
Base de datos
Datos de ejemplo
Mostramos un resumen de artículos
Mostrar un artículo y sus comentarios
Añadir y modificar artículos
Añadir y modificar comentarios
Preguntas del capítulo diecisiete
Capítulo 18. Fin del viaje
Estándares de programación de PHP
Comentarios
Dar formato
Sangría
Etiquetas PHP
Uso de plantillas
Expresiones
Invocación de funciones
Definición de funciones
Objetos
Asignación de nombres
Control de estructuras
Incluir o solicitar archivos PHP
PEAR
Librerías estructuradas
Distribución de código
PHP Extension Community Library (PECL)
Abstracción en base de datos PDO
Marcos de trabajo
PHP Zend
CakePHP
Ajax
Wikis
Encontrar ayuda en la Web
Grupos de usuarios PHP
Preguntas del capítulo dieciocho
Apéndice. Solucion alfabético