PHP, MYSQL Y APACHE

PHP, MYSQL Y APACHE

MELONI, JULIE C.

49,30 €
IVA incluido
Editorial:
ANAYA MULTIMEDIA, S.A.
Año de edición:
2009
ISBN:
978-84-415-2541-2
Páginas:
656
Encuadernación:
Rústica
Colección:
Programación (Anaya Multimedia)

Disponibilidad:

  • Calle Doce de OctubreConsulte disponibilidad
  • Calle Valeriano MirandaConsulte disponibilidad

Agradecimientos
Sobre la autora

Introducción
¿Quién debería leer este libro?
Cómo está organizado este libro
Convenciones


Parte I. Obtención y ejecución

1. Guía rápida de instalación
Instalación bajo Linux/UNIX
Instalación de MySQL
Instalación de Apache
Instalación de PHP
Instalación bajo Windows
Instalación de MySQL
Instalación de Apache
Instalación de PHP
Instalación bajo Mac OS X
Instalación de MySQL
Instalación de PHP
Resolución de problemas

2. Instalación y configuración de MySQL
Versiones actuales y futuras de MySQL
Cómo conseguir MySQL
Instalación de MySQL bajo Linux/UNIX
Instalación de MySQL bajo Mac OS X
Instalación de MySQL bajo Windows
Resolución de problemas durante la instalación
Pautas básicas de seguridad
Iniciar MySQL
Aumentar la seguridad en nuestra conexión MySQL
Introducción al sistema de permisos de MySQL
El proceso de autenticación en dos pasos
Trabajar con permisos de usuario
Agregar usuarios
Revocar permisos
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

3. Instalación y configuración de Apache
Versiones actuales y futuras de apache
La elección del método de instalación adecuado
Compilar desde el código fuente
Instalar un binario
Instalación de Apache bajo Linux/UNIX
Descarga del código fuente de Apache
Descomprimir el código fuente
Preparación de la compilación de Apache
Compilar e instalar Apache
Instalación de Apache bajo Mac OS X
Instalación de Apache bajo Windows
Configuración de la estructura de archivos de Apache
Directivas
Contenedores
Evaluación condicional
La directiva ServerRoot
Archivos de configuración por directorio
Los archivos de registro de Apache
El archivo access_log
El archivo error_log
Archivos adicionales
Comandos relacionados con Apache
Los binarios del servidor Apache
El script de control de Apache
Iniciar Apache por primera vez
Revisión del archivo de configuración
Iniciar Apache
Resolución de problemas
Ya existe un servidor Web
No tenemos permiso para vincular a un puerto
Acceso denegado
Ajustes de grupo erróneos
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

4. Instalar y configurar PHP
Versiones actuales y futuras de PHP
Compilar PHP bajo Linux/UNIX con Apache
Opciones de configuración adicionales para Linux/UNIX
Integración de PHP con Apache en Linux/UNIX
Instalar PHP en Mac OS X
Instalación de PHP bajo Windows
Integración de PHP con Apache bajo Windows
Fundamentos de php.ini
Probar la instalación
Obtener ayuda para la instalación
Los fundamentos de la programación en PHP
Empezar y terminar un bloque de sentencias PHP
La sentencia echo y la función print()
Combinar HTML y PHP
Agregar comentarios al código PHP
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades


Parte II. Estructura del lenguaje PHP3

5. Los pilares de PHP
Variables
Globales y superglobales
Tipos de dato
Cambiar el tipo con settype()
Cambiar el tipo mediante conversión por copia
¿Por qué comprobar el tipo?
Operadores y expresiones
El operador de asignación
Operadores aritméticos
El operador de concatenación
Operadores combinados
Incrementar y decrementar automáticamente una variable entera
Operadores de comparación
Crear expresiones de verificación complejas con los operadores lógicos
Precedencia de operadores
Constantes
Constantes predefinidas
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

6. Funciones de control de flujo en PHP
Alterar el flujo
La sentencia if
Uso de la cláusula else con la sentencia if
Uso de la cláusula elseif con la sentencia if
La sentencia switch
Uso del operador ?
Bucles
La sentencia while
La sentencia do...while
La sentencia for
Salir de un bucle con la sentencia break
Finalizar una iteración con la sentencia continue
Bucles anidados
Los bloques de código y la salida por el navegador
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

7. Trabajar con funciones
¿Qué es una función?
Cómo llamar a funciones
Definición de funciones
Cómo devolver valores mediante funciones definidas por el usuario
Ámbito de las variables
Cómo acceder a las variables mediante la sentencia global
Cómo conservar el estado entre llamadas a funciones con la sentencia static
Más sobre parámetros
Asignación de valores por defecto a los parámetros
Pasar variables por referencia a las funciones
Verificar la existencia de una función
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

8. Trabajar con vectores
¿Qué son los vectores?
Creación de vectores
Creación de vectores asociativos
Creación de vectores multidimensionales
Algunas funciones para vectores
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

9. Trabajar con objetos
Crear un objeto
Propiedades de los objetos
Métodos de los objetos
Constructores
Herencia entre objetos
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades


Parte III. Adentrarse en el código

10. Trabajar con las cadenas, las fechas y la hora
Dar formato a cadenas con PHP
Trabajar con printf()
printf() y los especificadores de tipo
Rellenando la salida con especificadores de relleno
Especificar la anchura del campo
Especificar la precisión
Especificadores de conversión: Resumen
Intercambio de argumentos
Guardar una cadena con formato
Investigar las cadenas en PHP
Una nota sobre indexar cadenas
Averiguar la longitud de una cadena con strlen()
Buscar una subcadena dentro de una cadena con strstr()
Averiguar la posición de una subcadena con strpos()
Extraer parte de una cadena con substr()
Fragmentar una cadena con strtok()
Manipular cadenas con PHP
Limpiar una cadena con trim(), ltrim() y strip_tags()
Sustituir una parte de una cadena con substr_replace()
Sustituir subcadenas con str_replace()
Pasar de mayúsculas a minúsculas
Envolver el texto con wordwrap() y nl2br()
Dividir las cadenas en vectores con explode()
Cómo utilizar las funciones para fechas y horas de PHP
Obtener la fecha con time()
Convertir un timestamp con getdate()
Convertir un timestamp con date()
Crear timestamps con mktime()
Verificar una fecha con checkdate()
Otras funciones para cadenas, fechas y horas
Resumen
Ejercicios
Preguntas y respuestas
Cuestiones
Soluciones
Actividades

11. Trabajar con formularios
Crear un formulario sencillo
Cómo acceder a los datos del formulario mediante vectores definidos por el usuario
Combinar código HTML y PHP en la misma página
Uso de campos ocultos para guardar el estado
Redireccionar al usuario
Enviar un correo al enviar un formulario
Configuración del sistema para la función mail()
Crear el formulario
Crear el script para enviar el correo
Dar formato al correo mediante HTML
Trabajar con subidas de archivos
Crear el formulario de subida de archivos
Crear el script de subida de archivos
Resumen
Ejercicios
Cuestiones
Soluciones
Actividades

12. Trabajar con cookies y sesiones del usuario
Introducción a las cookies
Anatomía de las cookies
Acceso a las cookies
Asignar una cookie mediante PHP
Cómo borrar una cookie mediante PHP
Introducción a las funciones de sesión
Iniciar una sesión
Trabajar con variables de sesión
Paso de las ID de sesión en la cadena de petición
Cómo destruir las sesiones y limpiar las variables
Uso de sesiones en un entorno con usuarios registrados
Trabajar con usuarios registrados
Trabajar con las preferencias del usuario
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

13. Trabajar con archivos y directorios
Incluir archivos con include()
Devolver un valor desde un documento incluido
Uso de include() dentro de estructuras de control
Uso de include_once()
La directiva include_path
Validación de archivos
Comprobación de la existencia mediante file_exists()
¿Archivo o directorio?
Verificar el estado de un archivo
Determinar el tamaño de un archivo con filesize()
Obtener información sobre las fechas de un archivo
Cómo crear una función que realice comprobaciones en varios archivos
Creación y borrado de archivos
Cómo abrir un archivo para escritura, lectura o anexarle datos
Leer datos de archivos
Leer líneas de un archivo con fgets() y feof()
Leer cantidades arbitrarias de datos de un archivo con fread()
Leer caracteres de un archivo con fgetc()
Escribir o anexar a un archivo
Escribir en un archivo con fwrite() o fputs()
Bloquear archivos con flock()
Trabajar con directorios
Crear directorios con mkdir()
Eliminar un directorio con mkdir()
Abrir un directorio para lectura con opendir()
Leer el contenido de un directorio con readdir()
Abrir conexiones con procesos mediante popen()
Ejecución de comandos con exec()
Ejecutar comandos con system() o passthru()
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

14. Trabajar con imágenes
Comprender el proceso de creación de imágenes
Unas palabras sobre el color
Modificaciones necesarias en PHP
Obtención de bibliotecas adicionales
Dibujar una nueva imagen
Dibujar formas y líneas
Uso de un color de relleno
Un poco de fantasía: Diagramas de tarta
Modificar las imágenes existentes
Creación de imágenes a partir de la entrada del usuario
Uso de imágenes creadas por scripts
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades


Parte IV. Integración de PHP y MySQL

15. Entender el proceso de diseño de bases de datos
La importancia de un buen diseño de base de datos
Tipos de relaciones entre tablas
Relaciones de uno a uno
Relaciones de uno a muchos
Relación de muchos a muchos
Comprender la normalización
El problema de la tabla plana
La primera forma normal
La segunda forma normal
La tercera forma normal
Seguir el proceso de diseño
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

16. Conocer los comandos básicos de SQL
Los tipos de datos básicos de MySQL
Tipos de datos numéricos
Tipos de fechas y horas
Tipos de cadenas
La sintaxis de creación de tablas
Uso del comando INSERT
Analizando INSERT con más detalle
Uso del comando SELECT
Ordenar el resultado de SELECT
Limitar el resultado
Uso de WHERE en las consultas
Uso de operadores en las cláusulas WHERE
Comparar cadenas mediante LIKE
Seleccionar de varias tablas
Uso de JOIN
Uso de subconsultas
Uso del comando UPDATE para modificar registros
UPDATE condicionales
Uso de valores de columnas existentes con UPDATE
Uso del comando REPLACE
Uso del comando DELETE
DELETE condicional
Funciones de cadena utilizadas con frecuencia en MySQL
Funciones de longitud y concatenación
Funciones de recorte y relleno
Funciones de ubicación y posición
Funciones de subcadena
Funciones de modificación de cadena
Las funciones de fecha y hora de MySQL
Trabajar con días
Trabajar con meses y años
Trabajar con semanas
Trabajar con horas, minutos y segundos
Dar formato a fechas y horas con MySQL
Realizar operaciones aritméticas con fechas en MySQL
Funciones especiales y funcionalidades de conversión
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividad

17. Transacciones y procedimientos almacenados en MySQL
¿Qué son las transacciones?
Sintaxis básica de las transacciones
Ejemplo práctico del uso de transacciones
¿Qué son los procedimientos almacenados?
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones

18. Interactuar con MySQL utilizando PHP
MySQL frente a las funciones MySQLi
Conectarse a MySQL mediante PHP
Crear una conexión
Ejecutar consultas
Obtener mensajes de error
Trabajar con datos de MySQL
Inserción de datos mediante PHP
Recuperar los datos mediante PHP
Otras funciones para MySQL de PHP
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones


Parte V. Proyectos básicos

19. Gestionar una lista de correo sencilla
Desarrollo del mecanismo de suscripción
Creación de la tabla de suscripción
Creación de un archivo incluido para funciones comunes
Creación del formulario de suscripción
Desarrollo del mecanismo de envío de correo
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones

20. Creación de una libreta de direcciones online
Planificación y creación de las tablas de la base de datos
Creación de un archivo incluido para las funciones comunes
Creación de un menú
Creación del mecanismo de inserción de registros
Visualización de registros
Creación del mecanismo de borrado de registros
Agregar datos a un registro existente
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

21. Crear un sencillo foro de discusión
Diseño de las tablas de la base de datos
Creación de un archivo incluido para las funciones comunes
Creación de los formularios y los scripts de entrada
Visualización de la lista de asuntos
Mostrar los mensajes de un asunto
Agregar mensajes a un asunto
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

22. Creación de una tienda online
Planificación y creación de las tablas de la base de datos
Inserción de registros en la tabla store_categories
Inserción de registros en la tabla store_items
Inserción de registros en la tabla store_item_size
Inserción de registros en la tabla store_item_color
Visualización de las categorías de artículos
Visualización de los artículos
Resumen
Ejercicios
Preguntas y respuestas
Cuestiones
Soluciones

23. Creación de un carrito de la compra
Planificación y creación de las tablas de la base de datos
Integración del carrito con la tienda
Agregar artículos al carrito
Visualizar el carrito
Eliminar artículos del carrito
Métodos y secuencia de pago
Creación del formulario de pago
Realizar las acciones del pago
Resumen
Ejercicios
Cuestiones
Soluciones

24. Creación de un calendario sencillo
Creación de la parte visual del calendario
Comprobación de la entrada del usuario
Creación del formulario HTML
Creación de la tabla del calendario
Agregar eventos al calendario
Creación de una biblioteca para el calendario
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

25. Restricción del acceso a las aplicaciones
Introducción a la autenticación
Autenticación del cliente
Uso de métodos de administración
Los módulos de autenticación de Apache
Autenticación mediante archivos
Almacenamiento remoto
Administración de usuarios
Authoritative
Uso de mod_auth
Control de acceso mediante archivos de base de datos
Almacenamiento remoto
Administración de archivos
Control del acceso a través de Apache
Implementación de las reglas de acceso
Permitir o denegar el acceso según la dirección IP
Permitir o denegar el acceso según el nombre de dominio
Permitir o denegar el acceso en función de las variables del entorno
Permitir o denegar el acceso a todos los clientes
Evaluación de las reglas de acceso
Combinación de los métodos de acceso de Apache
Limitar el acceso en función de los métodos http
Restricción del acceso en base a los valores de las cookies
Creación de la tabla de usuarios autorizados
Creación del formulario y el script de ingreso
Comprobación de la cookie auth
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

26. Registro y monitorización de la actividad del servidor Web
Registro de acceso estándar de Apache
Definir qué registrar
La directiva HostNameLookup
La directiva IdentityCheck
Código de estado
Registro del acceso a archivos
Registro de los accesos a un programa
Registro estándar de errores de Apache
Registro de errores en un archivo
Registro de errores en un programa
El demonio syslog
La directiva logLevel
Administración de los registros de Apache
Resolución de nombres de host
Rotación de registros
Fusión y división de registros
Análisis de registros
Monitorización de los registros de error
Registro de información personalizada en una base de datos
Creación de la tabla de la base de datos
Creación del fragmento de código PHP
Creación de informes de prueba
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones

27. Localización de aplicaciones
Sobre internacionalización y localización
Sobre los conjuntos de caracteres
Modificaciones del entorno
Cambios en la configuración de Apache
Cambios en la configuración de PHP
Cambios en la configuración de MySQL
Creación de la estructura de una página localizada
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones

28. Trabajar con XML
¿Qué es XML?
Estructura básica de los documentos XML
¿Cuándo debemos utilizar XML y PHP?
Acceso a XML desde PHP utilizando funciones DOM
Acceso a XML desde PHP utilizando funciones SimpleXML
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones


Parte VI. Administración y ajuste fino
29. Ajuste del rendimiento de Apache y alojamiento virtual
Cuestiones de escalabilidad
Los límites de los sistemas operativos
Procesos
Descriptores de archivos
Control de los procesos externos
Configuración del rendimiento de Apache
Acceso al sistema de archivos
Configuración de la red y el estado
Evaluación de la carga con ApacheBench
Ajuste preventivo del rendimiento
Almacenamiento de archivos en memoria
Distribución de la carga
Almacenamiento en caché
Reducción la información transmitida
Configuración de la red
Evitar usos inapropiados
Robots
Implementación de alojamientos virtuales
Alojamiento virtual basado en IP
Alojamiento virtual basado en nombres
Alojamiento virtual masivo
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones

30. Configuración de un servidor Web seguro
La necesidad de seguridad
El protocolo SSL
Cómo abordar la necesidad de confidencialidad
Criptografía simétrica
Criptografía de clave pública
Cómo abordar la necesidad de integridad
Cómo abordar la necesidad de autenticación
SSL y los certificados
Resumen del protocolo SSL
Obtención e instalación de las herramientas SSL
OpenSSL
Instalación para usuarios de Windows
Instalación para usuarios de UNIX/Linux
El módulo mod_ssl de Apache
Para los usuarios de Windows
Para usuarios de UNIX/Linux
Administración de certificados
Creación del par de claves
Creación de una petición de firma de certificado
Creación de un certificado autofirmado
Configuración de SSL
Inicio del servidor
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones

31. Optimización y puesta a punto de MySQL
Creación de una plataforma optimizada
Uso de la función benchmark()
Opciones de inicio de MySQL
Parámetros clave del inicio
Optimización de la estructura de tablas
Optimización de consultas
Uso del comando FLUSH
Uso del comando SHOW
Obtener información de las bases de datos y las tablas
Obtener la información de la estructura de las tablas
Conocer el estado del sistema
Resumen
Preguntas y respuestas
Ejercicios
Cuestiones
Soluciones
Actividades

32. Actualizaciones del software
Estar al día
Cuándo actualizar
Actualización de MySQL
Actualización de Apache
Cómo modificar Apache sin actualizarlo
Actualización de PHP
Uso de PECL y PEAR para ampliar PHP
Resumen
Ejercicios
Cuestiones
Soluciones

Apéndice. Contenido del CD-ROM

Índice alfabético

Con este libro aprenderá, en un corto espacio de tiempo, a utilizar conjuntamente PHP, MySQL y Apache para crear aplicaciones y sitios Web interactivos y dinámicos gracias a las tres principales tecnologías de desarrollo para la Web de código libre. Cada una de las lecciones de este libro se basa en las anteriores, permitiéndole aprender los fundamentos de la programación en PHP, las bases de datos MySQL y el servidor web Apache, partiendo desde cero, paso a paso, y utilizando un lenguaje claro y sencillo.

Con este libro aprenderá a instalar y configurar el lenguaje de programación PHP, MySQL y Apache, poner en marcha todas estas tecnologías para crear un sitio Web dinámico que trabaje con una base de datos remota, agregar un escaparate y un carrito de la compra a su sitio Web, optimizar sus bases de datos MySQL, restringir el acceso a sus aplicaciones, configurar un servidor Web seguro, entre muchas posibilidades más.

Además, el CD-ROM adjunto al libro incluye un paquete de iniciación completo que le permitirá instalar todo el software que necesita para configurar un entorno estable para aprender, así como el código fuente de los ejemplos con los que podrá practicar y evaluar sus progresos.

Artículos relacionados

  • ENTIENDE LA TECNOLOGÍA
    GENTILE, NATE
    Piénsalo: gracias a los avances tecnológicos podemos hablar con alguien que esté a miles de kilómetros, predecir el tiempo, cruzar el planeta en cuestión de horas, conocer nuestro estado de salud, curar enfermedades graves, acceder al instante a más información de la que nunca seremos capaces de leer... ¡Si incluso hemos conseguido hacer que las máquinas aprendan! ¿Cómo de dif...

    20,90 €

  • CANVA. CURSO COMPLETO
    GÓMEZ, CHEMA
    La guía definitiva y más exhaustiva para dominar Canva, la herramienta de diseño gráfico más accesible y poderosa de nuestros tiempos ...

    19,90 €

  • LA LEY DE LA INTELIGENCIA ARTIFICIAL. PARTE I
    LÓPEZ-AMO SAINZ, ALVARO PABLO
    La extensión del uso la Inteligencia Artificial a un sinfín de actividades de nuestra vida diaria está suponiendo una nueva revolución tecnológica, económica y social. Tal revolución evidencia la necesidad de una regulación legal en la que La Unión Europea, la OCDE y un amplio número de países ya han avanzado.Con un lenguaje claro, didáctico y sin tecnicismos este libro present...

    34,90 €

  • FINAL FANTASY: LEVEL 99
    MARTÍNEZ SUÁREZ, MIGUEL / RUBIO BLÁZQUEZ, NÉSTOR
    Final Fantasy: Level 99 es un bestiario que explora la diversidad de criaturas icónicas de la legendaria saga de videojuegos de Square Enix, desde sus inspiraciones en mitología clásica hasta referencias en la cultura pop y la ciencia-ficción. El libro, coescrito por Miguel Martínez Suárez y Néstor Rubio Blázquez, presenta 99 fascinantes monstruos que han desafiado a los jugado...

    25,95 €

  • MATEMATICAS Y GRAFICOS CON PYTHON
    PRIETO MORLAN
    Con esta obra el lector emprenderá un emocionante viaje a través del mundo de las matemáticas y la visualización de datos utilizando el poderoso lenguaje de programación Python. Este libro no solo ofrece una introducción accesible a los conceptos matemáticos fundamentales, sino que también proporciona las herramientas necesarias para aplicar estos conocimientos a través de la p...

    29,90 €

  • VISION ARTIFICIAL. COMPONENTES DE LOS SISTEMAS DE VISION Y NUEVAS TEND
    JAIME DUQUE DOMINGO, JAIME GOMEZ GARCIA-BERMEJO, E
    Los avances continuos en la visión artificial permiten resolver problemas de distinta índole, como pueden ser la conducción autónoma, el reconocimiento biométrico, la detección de defectos industriales o la interacción entre humanos y robots.Este libro es una guía esencial para cualquier persona que desee comprender cómo las máquinas interpretan el mundo visual. De forma secuen...

    34,90 €

Otros libros del autor

  • HTML5, CSS3 Y JAVASCRIPT. SEGUNDA EDICIÓN
    MELONI, JULIE C.
    Las nuevas tecnologías han propiciado el auge del uso de Internet en los dispositivos: teléfonos móviles, tablets y otros. La Web se ha consolidado como el medio de más alto crecimiento en la historia, fuente imprescindible de información y de negocios. Este libro enseña a utilizar conjuntamente HTML, hojas de estilo CSS y JavaScript para diseñar, crear y mantener sitios Web p...

    67,95 €

  • HTML5, CSS3 Y JAVASCRIPT
    MELONI, JULIE C.
    Las nuevas tecnologías han propiciado el auge del uso de Internet en los dispositivos: teléfonos móviles, tablets y otros. La Web se ha consolidado como el medio de más alto crecimiento en la historia, imprescindible para la información y los negocios. Con este esplendor han surgido nuevas aplicaciones, donde HTML5 tiene un especial protagonismo. Este libro enseña a utilizar c...

    58,70 €