Soluciones de
los ejercicios (cursos anteriores)
Estos enlaces permiten descargar soluciones de cursos anteriores de algunos
de los ejercicios. Cada archivo comprimido contiene todos los archivos
necesarios (html, css, php, imágenes, etc). Se recomienda utilizar las
soluciones más actuales.
Soluciones del curso 2009/2010
Las soluciones proporcionadas durante el curso 2009/2010 se distribuyen bajo
licencia AGPL 3 o posterior.
Ejemplos del curso 2009/2010
Los ejemplos proporcionados durante el curso 2009/2010 se distribuyen bajo
licencia AGPL 3 o posterior.
Soluciones curso 2008/2009
Las soluciones proporcionadas durante el curso 2008/2009 se distribuyen bajo
licencia AGPL 3 o posterior.
Cambios realizados en las soluciones en el curso 2008/09
Los cambios realizados en las soluciones de los proyectos en el curso
2008/2009 con respecto al curso anterior son los siguientes:
- css: añadir input { font-family: monospace; }. El nombre de la hoja de
estilo es mclibre_php_soluciones_proyectos_comun.css si es la hoja básica,
si tiene algo más entonces en vez de _comun.css se llama
_nombreEjercicio.css.
- funciones.php: cambiar la extensión de las bases de datos squlite, de
squlite3 a squlite.
- funciones.php: cambiar a constantes las variables que no cambian (tamaños
de los campos en la base de datos, número máximo de registros en la base de
datos, etc.).
- funciones.php: zona horaria como constante, método de formulario (get o
post) como constante.
- funciones.php: añadido ini_set('session.save_handler', 'files'); por si
session.save_handler = user en php.ini. En el resto de páginas he puesto el
include('funciones.php'); al principio de cada página.
- cabecera(): línea en blanco en código fuente páginas después de
</head>.
- cabecera(): añadir parámetro a función cabecera para que ponga cursor o
no (parámetro en segunda posición, usar constantes CABECERA_CON_CURSOR y
CABECERA_SIN_CURSOR). El motivo para hacerlo es que si se pone
document.getElementById('cursor').focus() en <body> y luego no hay
ningún elemento con id="cursor", IE da un error.
- cabecera(): si hay CABECERA-CON_CURSOR, la llamada a cabecera con cursor
sólo tiene que estar cuando la página contiene un formulario, en los
mensajes de error tiene que llamarse a cabecera sin cursor.
- formularios: añadir maxlength a <input> en formulario (con el mismo
valor que size).
- formularios: en el código fuente de la página, todo los atributos de un
<input> salen en la misma línea.
- formularios: constante FORM_METHOD que indica si el método es get o
post.
- al comprobar si ya existe un registro comprueba !=0 y no ==1 como hacía
antes (para evitar que si hay dos registros en la base de datos no diga que
no hay ninguno).
- eliminar espacios alrededor de comparaciones: == != >= <= etc.
- añadir espacios alrededor de operadores lógicos: && ||.
- sesiones: añadido ini_set('session.save_handler', ... para evitar
incompatibilidades con algunas configuraciones de php.ini (por ejemplo, si
está instalado Drupal).
Soluciones Curso 2007/2008
Las soluciones proporcionadas durante el curso 2007/2008 se distribuyen bajo
licencia AGPL 3 o posterior.
Soluciones Curso 2006/2007
Las soluciones proporcionadas durante el curso 2006/2007 se distribuyen bajo
licencia GPL 2 o posterior.
Esta página forma parte del curso "Páginas web con PHP" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 23 de febrero de 2011
Esta obra está bajo una licencia de Creative
Commons.