Práctica 6 - PHP + MySQL1. ObjetivosEn esta práctica vamos a ver unas aplicaciones avanzadas de scripts PHP. Veremos cómo acceder a un servidor de base de datos MySQL desde scripts PHP. Para ello en la primera práctica compilamos el módulo de PHP para Apache con soporte de MySQL. En caso de dudas sobre cómo emplear la base de datos MySQL la documentación del mismo incluye un breve tutorial: http://dev.mysql.com/doc/refman/5.0/es/tutorial.html Y el tutorial de PHP trae en la sección LXIII la documentación sobre las funciones para acceder al servidor de base de datos: http://www.php.net/manual/es/ref.mysql.php 2. Instalación y configuración del PHPMyAdminphpMyAdmin es un conjunto de páginas HTML (en realidad scripts PHP) que permiten gestionar una base de datos MySQL directamente por la web con un interfaz gráfico. Si bien generalmente aprenderemos a realizar la gestión de nuestro servidor de base de datos a través del cliente mysql una vez que tengamos los conceptos claros resultará más cómodo realizaar algunas tareas con un interfaz como este. A. InstalandoLo primero es descomprimir el tarball al interior del directorio principal desde donde nuestro servidor Web sirve páginas (DocumentRoot): [1]%> cp /opt3/lir/ficheros/phpMyAdmin-2.11.0-all-languages.tar.gz /opt3/lir/lirXY/www/ [2]%> cd /opt3/lir/lirXY/www/ [3]%> tar xzvf phpMyAdmin-2.11.0-all-languages.tar.gz A continuación le cambiamos el nombre a algo más cómodo: [4]%> mv phpMyAdmin-2.11.0-all-languages sqladmin B. ConfigurandoY ahora editamos el fichero de configuración de phpMyAdmin para que funcione con nuestro servidor. Dicho fichero es /opt3/lir/lirXY/www/htdocs/sqladmin/config.inc.php. Este fichero no existe, pero existe uno de pruebas (config.sample.inc.php) que nos sirve, renombrarlo. Debemos modificar al menos dos líneas. Primero en la línea que pone: $cfg['Servers'][$i]['auth_type'] = 'cookie'; debemos de cambiar el modo de autentificación a 'http', con lo que cada vez que accedamos nos solicita el usuario y password: $cfg['Servers'][$i]['auth_type'] = 'http'; Y cambiamos el modo de acceso para que se acceda mediante TCP en vez del socket UNIX. Para ello cambien: $cfg['Servers'][$i]['host'] = 'localhost'; por $cfg['Servers'][$i]['host'] = '127.0.0.1'; C. ProbandoAhora podemos probar estas páginas accediendo al índice de las mismas http://localhost:8080/~lirXY/sqladmin/ 3. Registro en base de datos de accesos a páginas webVamos a crear un script de PHP que inserte en una tabla de una base de datos información sobre cada acceso que se realiza a ciertas páginas web. Emplearemos en esta práctica la base de datos test A continuación crearemos la tabla que vamos a emplear en este caso. La tabla se llamará logs y contendrá al menos la siguiente información:
Ahora creen un script PHP que se conecte a la base de datos e inserte una nueva línea en esa tabla con la fecha actual, la dirección IP del que está pidiendo este documento y el URL de este documento. El primer valor lo sabe introducir el servidor MySQL mediante la función NOW() y el segundo y el tercero se pueden obtener de variables de entorno que ha creado el servidor Web. Adapten el script anterior para que pueda ser empleado desde cualquier página sin más que entrar en modo PHP e incluirlo (include). Prueben a crear diferentes documentos que incluyan el script y vean cómo se van registrando los accesos en la base de datos (por ejemplo empleen las páginas que crearon en la práctica sobre HTML). Checkpoint 1 4. Estadísticas obtenidas del logCreen un nuevo script PHP que acceda a la tabla creada en el apartado anterior y muestre las siguientes estadísticas:
Por ejemplo, si la tabla es: +------------+-----------------+-----------------------------------------+ El resultado será algo como: Total: 4 accesos 2 direcciones diferentes han accedido a nuestros documentos
Checkpoint 2 5. ConclusionesHemos visto cómo crear scripts PHP que mantengan el estado de unos a otros, añadiendo así gran funcionalidad a páginas web básicas. |
Última modificación: miércoles, 3 de octubre de 2007, 11:18