Práctica 3 - HTML y PHP básico

1. Objetivos

En esta práctica veremos cómo usar PHP junto con HTML. Dónde poner el código, como facilitar su lectura...

La documentación en línea de PHP (www.php.net) contiene suficiente información para aprender la sintaxis básica del lenguaje y les será de gran ayuda como lugar de consulta sobre las funciones disponibles y su modo de empleo.

2. Introducción

Cómo con HTML no es necesario ningún tipo de editor especial para crear páginas PHP, ya que estos también son simples ficheros ASCII. La única diferencia es que hay que ponerles la extensión adeacuada para que el servidor web entienda que son ficheros PHP que hay que procesar y servir su salida. En la configuración estándar (la nuestra), esto simplemente significa usar la extensión .php.

A diferencia de los ficheros HTML los ficheros PHP no se ven bien si no se accede a través de un servidor web, por lo que acuerdese de iniciar su Apache (use el script que creo al final de la práctica 1) y poner los ficheros dentro de su document_root.

3. Scripts sencillos

Todo aquel que tenga cierta experiencia aprendiendo nuevos lenguajes de programación reconocerá el script que sigue:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Primer script</title>
</head>
<body>
<?php echo "<p>Hola mundo!</p>" ?>
</body>
</html>

Prúebenlo.

Pero esto también se podía haber hecho así:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Segundo script</title>
</head>
<body>
<p><?php echo "Hola mundo!"; ?></p>
</body>
</html>

Prúebenlo.

A continuación escriban un script PHP que cree una página con una cuenta de números enteros del 1 al 10 hecha con algún tipo de bucle (for, while, ...) obteniendo la siguiente salida HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head><title>Tercer script</title></head>
<body>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p>10</p>
</body>
</html>

En nuestro cuarto y último script para tomar contacto deberán crear una función que calcule el cuadrado del número que se le pasa tal que:

function cuadrado($numero){
/* La programación necesaria */
return $retval;
}

Úsen la función para calcular los cuadrados de los números del 1 al 10 del script anterior.

Checkpoint 1
Muestren al profesor de prácticas el tercer y cuarto script.

4. Procesado de formularios en PHP

Creen la siguiente página HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head>
<title>PHP Test</title>
</head>
<body>
<p>Formulario:</p>
<form action="scriptqueloprocesa.php" method="get">
Nombre: <input type="text" name="name" />
Edad: <input type="text" name="age" />
<input type="submit" name="submit" value="submit" />
</form>

</body>
</html>

Y el siguiente script de PHP "scriptqueloprocesa.php" para procesar el formulario anterior:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>PHP Test</title>
</head>
<body>
<p>Hola <?php echo $_POST["name"]; ?>.</p>
<p>Ya tienes <?php echo $_POST["age"]; ?> a&ntilde;os.</p>
<p>
<?php
if ($_POST["age"]>21){
print "<p>Te est&aacute;s haciendo viejo</p>";
} else {
print "<p>&iexcl;Disfruta, a&uacute;n eres joven!</p>";
}
?>
</body>
</html>

Adáptenlo para que les funcione correctamente haciendo que gestione cualquier problema (campos vacíos, campos con valores no permitidos, ...) adecuadamente.

Tengan en cuenta también que alguien que acceda directamente a "scriptqueloprocesa.php" no le deberían salir los errores sino que tendría que ser enviado (redirigido) al HTML para rellenar el formulario.

Checkpoint 2
Muestren al profesor de prácticas este script correctamente funcionando y expliquen cómo funciona.

5. Procesado de formularios en PHP y gestión de ficheros

A continuación creen un script en PHP que procese el formulario que crearon en la práctica 2. El script debe recoger los datos del nuevo miembro de un grupo de prácticas y añadirlos a un fichero de texto como una nueva línea. Obviamente, hagan una correcta gestión de cualquier problema devolviendo una página con un mensaje de error detallado (campo obligatorio X vacío, campo Y con valores incorrectos, imposibilidad de escribir en el fichero...).

Nota: Las funciones de manejo de ficheros se encuentran en la sección VI.XXXVIII http://www.php.net/manual/es/ref.filesystem.php y las de generación de números aleatorios junto con las funciones matemáticas en la sección VI.LXXII http://www.php.net/manual/es/ref.math.php

Checkpoint 3

6. Trabajo opcional

Configuración de PHP

El módulo de PHP tiene un fichero de configuración que normalmente se llama php.ini. Dentro de este fichero se pueden cambiar ciertos parámetros del funcionamiento de PHP. Cuando PHP es un módulo de Apache este fichero solo se lee cuando se lanza el servidor por lo que todos los cambios requieren relanzarlo para que surtan efecto.

Algunos parámetros de configuración de PHP se pueden alterar desde el fichero de configuración del Apache, o desde un fichero .htaccess e incluso algunos desde los propios scripts. Puede leer al respecto en la documentación de PHP: http://www.php.net/manual/es/configuration.changes.php

Revise el tipo de parámetros que puede configurar. ¿Cómo cambiaría el servidor de SMTP por defecto que emplea la función mail()?

Podemos ver las opciones con las que está compilado el módulo de PHP mediante la función phpinfo(). Cree un script PHP para mostrar el resultado de esta función y revise la información que el mismo ofrece. http://es.php.net/manual/es/function.phpinfo.php

Una función de PHP con la que podemos cambiar parámetros del mismo es ini_set(): http://www.php.net/manual/es/function.ini-set.php

7. Conclusiones

En esta páctica hemos creado nuestros primeros scripts en PHP. Scripts independientes o que procesaban el contenido de formularios. En las siguientes prácticas veremos algunas facilidades más que nos ofrece PHP.

Última modificación: miércoles, 3 de octubre de 2007, 11:08