Ficheros de la sesión en master21

Estos son los ficheros creados por los alumnos en la máquina master21 en la sesión de práticas del día 25 de Abril.

alberto.zip basilio.zip
carlos.zip david.zip
fernando.zip francisc.zip
guisela.zip javier.zip
juan.zip julian.zip
manuel.zip marcelo.zip
saulo.zip vicente.zip

Pueden copiarselos en fauna.master.etsit.upm.es para proseguir con sus prácticas. Esta máquina esta configurada para dejar los ficheros en el subdirectorio public_html.


Prácticas de Laboratorio

La sesión de laboratorio consistirá en realizar dos prácticas de PHP.


Práctica 1: Visualización de un script PHP

El objetivo de esta práctica es familiarizarse con el uso de PHP. Para ello visualizaremos un fichero realizado en PHP.

Ejecute su navegador y visualice la siguiente página:

http://master21.master.etsit.upm.es/ejemplo1.php

La página que está viendo ha sido generada por el siguiente fichero ejemplo1.php

<HTML>
<BODY>

  hola

  <?php
    echo "mundo";
  ?>

</BODY>
</HTML>

Observe las diferencias existentes entre el contenido original del fichero y la página visualizada.


Práctica 2: Instalación de un script PHP

El objetivo de esta práctica es familiarizarse con el uso de PHP. Para ello crearemos un pequeño script PHP que instalaremos y visualizaremos en un servidor web.

El servidor web donde instalaremos el fichero es master21.master.etsit.upm.es, y dentro de las cuentas de usuario generadas para cada uno de los alumnos. Para ello, nos connectaremos al servidor mediante el programa F-Secure SSH, al cual puede accederse desde la carpeta Inicio Programas. Este servidor esta configurado para buscar las páginas de usuario dentro del directorio lib/www, por lo que nos moveremos a ese directorio, despues de habernops conectado:

cd lib/www
Cree un fichero llamado contar.php con el siguiente contenido:
<HTML>
<BODY>

<UL>
  <?php
    for ($i=1 ; $i<10 ; $i++) {
       echo "  <LI> paso ".$i."\n";
    }
  ?>
</UL>

</BODY>
</HTML>

Desde su navegador visualice la página que acaba de crear (cambiando el nombre jose por su login).

http://master21.master.etsit.upm.es/~jose/contar.php
Vea el código HTML de la página visualizada, y compruebe como los fragmentos PHP han sido sustituidos por el resultado de su ejecución.


Práctica 3: Formulario de acceso Bases de Datos.

El objetivo de esta práctica es realizar un formulario usando PHP, y acceder a una base de datos para buscar la información pedida.

Para ello vamos a realizar una página que implemente un PokeDex, acceso a una base de datos de Pokemons . Consistirá en un formulario donde especificaremos que consulta queremos realizar, accederemos a la base de datos, y mostraremos la información pedida.

Como ejemplo ilustrativo puede consultar este ejemplo ya resuelto: pokemon

La base de datos está implementada sobre el sistema de ficheros, usando directamente una colección de ficheros de texto, todos ellos almacenados bajo el directorio bdatos:

Las funciones utilizadas en el ejemplo anterior para visualizar los datos pedidos son PintaTodos PintaNumeroPokemon PintaNombrePokemon y PintaTipo. Utilícelas para su desarrollo, y cree nuevas funciones para realizar otros tipos de consultas.
function PintaNombrePokemon($nombre) { 
   global $nombres;
   global $iconos;

   echo "<H2 ALIGN=center>Pokemons llamados $nombre</H2>";
   echo "<CENTER>";

   reset($nombres);
   while (list($cdg,$nomb) = each($nombres)) {
      if (stristr($nomb,$nombre)) {
         echo "<IMG SRC=".$iconos[$cdg]."> ".$cdg." ".$nombres[$cdg];
         echo "<P>";
      }
   }
   echo "</CENTER>";
}



function PintaNumeroPokemon($cdg) { 
   global $nombres;
   global $iconos;
  
   echo "<H2 ALIGN=center>Pokemon número $cdg</H2>";

 
   echo "<CENTER>";
   echo "<IMG SRC=".$iconos[$cdg]."> ".$cdg." ".$nombres[$cdg];
   echo "</CENTER>";

}


function PintaTodos() { 
   global $nombres;
   global $iconos;
  
   echo "<H2 ALIGN=center>Todos los Pokemons</H2>";
   echo "<TABLE BORDER=0 WIDTH=100%>";
   for ($i=0 ; $i<251 ; $i++) {
      if ($i%3 == 0) echo "<TR>";

      echo "<TD> <IMG SRC=".$iconos[$i+1]."> ".($i+1)." ".$nombres[$i+1];
   }
   echo "</TABLE>";
}


function PintaTipo($tipo) {
   global $tipos;
   global $nombres;

   echo "<H2 ALIGN=center>Pokemons de tipo $tipo</H2>";
   echo "<TABLE BORDER=0 WIDTH=100%>";
   for ($i=0;$i < count($tipos[$tipo]); ++$i) {
      if ($i%3 == 0) echo "<TR>";
      
      $cdg = $tipos[$tipo][$i];
      echo "<TD> <IMG SRC=icon/";
      printf("%03d.gif",$cdg);
      echo "> $cdg ".$nombres[0+$cdg];
   }
   echo "</TABLE>";
}

La solución completa del ejercicio se encuentra comprimida en pokemon.zip.