Está en la página 1de 13

Aprender a desarrollar un sitio Web con PHP y MySQL

Ejercicios prcticos y corregidos (2 edicin)

Introduccin
1. Objetivo del libro

13

2. Funcionamiento de un sitio Web

13

Instalacin
1. Introduccin

17

2. Instalacin de EasyPHP 13.1

18

Las bases del lenguaje PHP


1. Las etiquetas

23

1.1 Sintaxis bsica


1.2 Insercin de etiquetas PHP en el cdigo XHTML
1.3 Envo de datos al servidor Web
1.4 Insercin del cdigo XHTML con la instruccin echo
1.5 Comentarios
2. Las variables

29

2.1 Asignacin
2.2 Tipos de variables
2.3 Particularidades del tipo de variable string
2.4 La concatenacin
2.5 Transtipado
3. Las constantes

www.ediciones-eni.com

23
24
26
27
28

29
30
30
32
33
35

Ediciones ENI

1/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

Funciones y estructuras de control


1. Las condiciones

37

1.1 If
1.2 Switch

37
42

2. Los bucles

45

2.1 For
2.2 While
2.3 Do while
2.4 Foreach

45
47
48
49

3. Las tablas

49

3.1 Tabla numrica


3.2 Tabla asociativa
3.3 Recorrido de una tabla
3.3.1 El bucle for
3.3.2 El bucle foreach
3.3.3 print_r
3.4 Funciones en las tablas
3.4.1 Longitud de una tabla
3.4.2 Existencia de un valor en una tabla
3.4.3 Existencia de una clave en una tabla
3.4.4 Ordenar una tabla
3.4.5 Bsqueda en una tabla
3.4.6 Recorrer una cadena de caracteres en una tabla
3.4.7 Reagrupar los valores de una tabla en una cadena
3.4.8 Trocear una cadena con una longitud fija
3.4.9 Aadir elementos al final de la tabla
3.4.10 Eliminar un elemento al final de la tabla
3.4.11 Seleccin de un elemento de la tabla de forma aleatoria
3.5 Tabla de varias dimensiones
3.5.1 Por medio de una tabla temporal
3.5.2 Almacenar directamente los valores en la tabla general
3.6 Ejercicios

www.ediciones-eni.com

Ediciones ENI

49
51
52
52
54
56
56
56
57
58
59
63
64
65
66
67
68
69
70
71
71
72

2/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

3.6.1 Enunciados
3.6.2 Soluciones

72
73

4. Procesamiento de las cadenas de caracteres


4.1 Funciones de manipulacin de cadenas
4.1.1 strlen()
4.1.2 substr()
4.1.3 strstr()
4.1.4 str_replace()
4.1.5 trim()
4.1.6 strtolower()
4.1.7 strtoupper()
4.1.8 strpos()
4.1.9 str_word_count()
4.1.10 str_pad()
4.2 Las expresiones regulares
4.2.1 Las maysculas y las minsculas
4.2.2 Bsqueda de una palabra, y no una cadena
4.2.3 El smbolo O
4.2.4 Comienzo de la cadena
4.2.5 Fin de cadena
4.2.6 Un carcter en una clase
4.2.7 Rango de caracteres en una clase
4.2.8 La no presencia de un rango de caracteres en una clase
4.2.9 Los cuantificadores
4.2.10 Intervalos de reconocimiento
5. Los operadores

76
76
77
78
79
80
81
81
82
83
85
85
87
88
90
90
91
91
92
93
94
96
98

5.1 Operadores de cadena


5.1.1 La concatenacin
5.1.2 Asignacin
5.2 Operadores aritmticos
5.2.1 La suma
5.2.2 La resta
5.2.3 La multiplicacin

www.ediciones-eni.com

76

98
98
98
99
99
100
100

Ediciones ENI

3/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

5.2.4 La divisin
5.2.5 El mdulo
5.2.6 El incremento
5.2.7 La resta
5.3 Operadores de comparacin
5.3.1 La igualdad
5.3.2 La diferencia
5.3.3 La comparacin
5.4 El operador ternario
5.5 Operadores lgicos
5.5.1 Y
5.5.2 O

101
101
102
103
104
104
105
106
107
108
108
109

6. Las funciones

111

6.1 Creacin
6.2 Alcance de las variables
6.3 Las variables globales
6.4 Las variables estticas
6.5 Funciones tiles
6.6 Paso por referencia
6.7 Funciones de la funcin de gestin
6.8 Recursividad
6.9 Funciones predefinidas en PHP
6.9.1 Generar un nmero aleatorio
6.9.2 Redondear un nmero decimal
6.9.3 Tomar el valor absoluto de un nmero
6.9.4 Crear un identificador nico
6.9.5 Mostrar informacin de PHP
6.9.6 Enviar un e-mail
7. Almacenar una funcin en una variable
7.1 Ejercicio
7.1.1 Enunciados
7.1.2 Soluciones

www.ediciones-eni.com

111
114
115
116
117
120
121
123
125
126
126
127
128
128
130
131
132
132
133

Ediciones ENI

4/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

8. Las fechas

137

9. Los archivos

146

9.1 Introduccin
9.2 Lectura rpida
9.3 Escritura rpida
9.4 Abrir y cerrar un archivo
9.5 Leer y escribir
9.6 Concurrencia
9.7 Manipulacin de archivos
9.8 Manipulacin de directorios

146
146
148
148
149
156
157
160

10. Los includes

167

11. Ejercicios

168

11.1 Enunciados
11.2 Soluciones

168
169

Transmitir datos de una pgina a otra


1. Las variables superglobales

173

1.1 $GLOBALS
1.2 $_SERVER
1.3 $_ENV
1.4 $_SESSION
1.5 $_COOKIE
1.6 $_FILES

173
174
177
179
180
183

2. El mtodo GET

186

2.1 Utilizacin del mtodo GET


2.2 Comprobar la presencia de la variable en la URL
2.3 Comprobar el valor de la variable en la URL

www.ediciones-eni.com

Ediciones ENI

186
189
190

5/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

2.4 Informacin complementaria


2.4.1 Argumentos con el mismo nombre
2.4.2 Argumentos de tipo tabla
2.4.3 Argumentos con caracteres especiales
3. El mtodo POST

192
192
193
194
196

3.1 Utilizacin del mtodo POST


3.2 Los diferentes elementos del formulario
3.2.1 Campo de tipo texto
3.2.2 Campo de tipo contrasea
3.2.3 rea de texto
3.2.4 Lista desplegable de eleccin simple
3.2.5 Lista desplegable de eleccin mltiple
3.2.6 Lista de casillas de seleccin
3.2.7 Lista de botones de opcin
3.2.8 Los campos ocultos
3.2.9 El botn submit
3.2.10 El botn reset
3.2.11 Formulario completo
4. Otros mtodos

196
198
199
201
201
202
204
206
208
209
210
213
213
215

4.1 El mtodo $_REQUEST

215

5. Zonas con el mismo nombre

218

6. Varios formularios en la misma pgina

218

7. Control de datos y redireccin de pginas

219

7.1 Introduccin
7.2 Datos obligatorios
7.3 Eliminacin de espacios no deseados
7.4 Longitud mxima
7.5 Caracteres permitidos
7.6 Magic quotes

www.ediciones-eni.com

Ediciones ENI

219
219
220
220
221
222

6/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

7.7 Redireccin de pgina

224

8. Ejercicios

225

8.1 Enunciados
8.2 Soluciones

225
227

Manipular una imagen


1. La librera GD

233

2. Creacin de una imagen

233

2.1 Header
2.2 Creacin de una imagen vaca
2.3 Creacin y visualizacin de una imagen completa
3. Texto y color

233
234
234
236

3.1 El color
3.2 El texto
3.3 La transparencia
3.4 Cambiar el tamao de una imagen
3.5 Superponer las imgenes

236
237
238
239
240

4. Las formas

243

5. Ejemplos

245

5.1 Ejemplo 1
5.2 Ejemplo 2

245
246

Base de datos MySQL


1. Presentacin

249

1.1 Introduccin

www.ediciones-eni.com

249

Ediciones ENI

7/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

1.2 Estructura

250

2. PHPMyAdmin

251

3. El lenguaje SQL

263

3.1 Presentacin
3.2 Leer datos
3.3 Escribir datos
3.4 Filtrar datos
3.5 Los alias
3.6 Ordenar datos
3.7 Eliminar datos
3.8 Modificar datos
3.9 Las uniones
3.10 El agrupamiento

263
264
265
267
270
271
272
273
275
279

4. SQL avanzado

282

4.1 Las funciones e instrucciones SQL


4.1.1 Limitar datos
4.1.2 Valores distintos
4.1.3 Convertir en maysculas
4.1.4 Convertir en minsculas
4.1.5 Redondear un nmero decimal
4.1.6 Valor absoluto de un nmero decimal
4.1.7 Nmero aleatorio
4.1.8 Longitud de un campo
4.1.9 Eliminar los espacios de un campo
4.1.10 Extraer una subcadena de un campo
4.1.11 Concatenar varios campos
4.1.12 Posicin de una cadena de caracteres en un campo
4.1.13 Aadir una secuencia de caracteres
4.1.14 Sustitucin de una cadena de caracteres
4.1.15 Comprobar el valor de un campo
4.1.16 Examinar la fecha actual
4.1.17 Extraer la fecha de un campo date y hora

www.ediciones-eni.com

Ediciones ENI

282
282
283
284
285
286
286
287
287
288
289
289
290
291
292
292
294
295

8/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

4.1.18 Diferencia entre dos fechas


4.1.19 Aadir un intervalo de tiempo a una fecha
4.1.20 Aadir un intervalo de tiempo a una hora
4.1.21 Sustraccin de un intervalo de tiempo a una fecha
4.1.22 Sustraccin de un intervalo de tiempo a una hora
4.1.23 Unir dos consultas
4.2 Las subconsultas
4.3 Los procedimientos almacenados y funciones
4.4 Otros objetos de MySQL
4.4.1 Las tablas
4.4.2 Los ndices
4.4.3 Las vistas
4.4.4 Trigger
5. Ejercicios SQL

315

5.1 Enunciados
5.2 Soluciones

317
320

6. Acceso a las bases de datos con PHP

321

6.1 Introduccin
6.2 Conexin
6.3 Desconexin
6.4 Consultas no preparadas
6.4.1 Leer datos
6.4.2 Escribir datos
6.4.3 Eliminar datos
6.4.4 Actualizar datos
6.5 Consultas preparadas
6.5.1 Introduccin
6.5.2 Leer datos
6.5.3 Escribir datos
6.5.4 Modificar datos
6.5.5 Eliminar datos
6.5.6 Almacenar un resultado
6.5.7 Examinar los errores de una consulta preparada

www.ediciones-eni.com

295
295
297
297
298
298
299
304
310
310
311
312
313

Ediciones ENI

321
322
324
324
324
330
332
333
335
335
335
338
340
341
343
345

9/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

7. PDO

346

7.1 Introduccin
7.2 Conexin
7.3 Consultas no preparadas
7.3.1 Leer datos
7.3.2 Escribir datos
7.3.3 Eliminar datos
7.3.4 Actualizar datos
7.4 Consultas preparadas
7.4.1 Leer datos
7.4.2 Escribir datos
7.4.3 Eliminar datos
7.4.4 Modificar datos
7.4.5 Llamar a un procedimiento almacenado
8. Ejercicios

346
348
350
350
352
354
355
356
356
358
360
361
361
364

8.1 Enunciados
8.2 Soluciones

364
366

El objeto
1. Introduccin

375

2. La clase

376

2.1 Introduccin
2.2 La encapsulacin
2.3 Visibilidad de los atributos y de los mtodos
2.4 Aadir un mtodo a la clase
2.5 Utilizacin de la clase
2.6 Actualizar y leer los atributos de la instancia
2.7 Paso como argumento de tipo objeto
2.8 El constructor
2.9 El destructor

www.ediciones-eni.com

Ediciones ENI

376
377
377
379
380
380
384
387
389

10/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

2.10 Ejercicio
2.11 Las constantes de clase
2.12 Los atributos y mtodos estticos
2.12.1 Mtodo esttico
2.12.2 Atributo esttico
3. La herencia

390
391
393
393
396
399

3.1 Introduccin
3.2 Protected
3.3 Sustitucin
3.4 Herencia en cascada

399
403
404
407

4. Las clases abstractas

408

5. Las clases finales

411

6. Los mtodos mgicos

412

7. Namespaces

420

8. Ejercicios

424

8.1 Enunciados
8.2 Soluciones

424
428

Configuracin
1. PHP.ini

449

2. Archivo de configuracin MySQL: My.ini

451

3. Archivo de configuracin Apache: Httpd.conf

452

www.ediciones-eni.com

Ediciones ENI

11/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

Seguridad y rendimiento
1. Fallos de seguridad XSS

455

1.1 XSS no permanente


1.2 XSS permanente
1.3 Error de pgina

455
457
457

2. Derechos de la base de datos

458

3. Inyeccin SQL (addslashes)

460

4. Comprobacin de la sesin

462

5. Rendimiento

463

5.1 Optimizar el rendimiento en PHP


5.2 Optimizar el rendimiento en MySQL

463
464

Casos prcticos y corregidos


1. Crear un blog (procedimiento)

465

2. Crear un blog (objeto)

470

3. Crear una newsletter

478

4. Crear un flujo RSS

479

5. Gestin de un parque informtico en MVC

480

6. Crear un sitio Web para gestionar becarios

491

www.ediciones-eni.com

Ediciones ENI

12/13

Aprender a desarrollar un sitio Web con PHP y MySQL


Ejercicios prcticos y corregidos (2 edicin)

ndice

www.ediciones-eni.com

511

Ediciones ENI

13/13

También podría gustarte