Error de PHP, ordenador embrujado

Me escribe una alumna, me manda la siguiente captura de pantalla, me dice que en su ordenador no aparecen esos mensajes de error, pero en el ordenador de su compañera sí que aparecen, ¿qué está ocurriendo?

tutoria8160855

“Undefined index”, “Undefined variable” significa que se está intentando usar una posición de un array o una variable que no están definidas.

Para evitar que se produzca este error se deben emplear las funciones isset() y empty() para comprobar si la posición o la variable están definidas y tienen algún valor.

Pero, ¿por qué sale el error en un ordenador y no en otro? Porque son diferentes instalaciones y Xampp (o Mamp o lo que sea) puede tener diferente configuración para los mensajes de error que se deben mostrar. El error siempre ha estado ahí, pero al cambiar de ordenador es cuando se han dado cuenta de ello.

Error en los textos

Un sitio web es un producto tecnológico que puede llegar a ser muy complejo ya que combina muchos componentes. Uno de esos componentes es algo tan simple como el texto que muestra la página web.

En Aulas Informáticas de libre acceso (Informática, nuevas tecnologías y redes sociales) he encontrado un error de edición en los textos:

ua-textos

A alguien se le ha olvidado editar y actualizar los textos que se muestran:

  • (la sociedad del cercano futuro) no me gusta, quitar , la sociedad de la información
  • ha creado puesto en funcionamiento
  • la planta baja (antigua sala de estudio 24 horas) quitar

Juego de caracteres erróneo ¡en un mapa!

El juego de caracteres, la pesallida de los informáticos, me fascina. Claro, yo no nací sabiendo lo que era, pero una tarde, hace ya muchos años, después de haber sufrido esta pesadilla yo mismo tomé una decisión:

A Dios pongo por testigo… A Dios pongo por testigo de que no lograrán aplastarme. Viviré por encima de todo esto y cuando haya terminado nunca volveré a saber lo que es tener pesadillas por el juego de caracteres. No, ni yo ni ninguno de los míos, aunque tenga que estafar, que ser ladrona o asesina. A Dios pongo por testigo de que jamás volveré a tener pesadillas por el juego de caracteres.

Dicho y hecho, esa tarde me puse a buscar información sobre el juego de caracteres, me la estudié y… problema resuelto. Desde entonces me fascina descubrir que otros sigan sufriendo este problema.

Un amigo me ha mandado el plano de pistas de la estación de esquí de Sierra Nevada:

sierra-nevada-plano-01

El mapa pequeño de la esquina inferior derecha:

sierra-nevada-plano-02

Un detalle del mapa pequeño:

sierra-nevada-plano-03

“Piñata 1, Piñata 2, Panorámica 2, Peñones, La Peña”, todo mal escrito por culpa de un juego de caracteres erróneo.

Y así en miles de planos impresos que deben haber costado unos cuantos miles de euros.

Y bueno, del cotejamiento en la bases de datos, mejor ni preguntar.

¿Qué está fallando?

Lo siguiente es la fotografía de un fragmento de código de un estudiante:

ejemplo-codigo-alumnos

La asignatura que imparto es “Programación Hipermedia I”, asignatura obligatoria en el tercer curso del grado de ingeniería multimedia. Se supone que los estudiantes ya han tenido varias asignaturas sobre programación en primer y segundo curso. Se supone que cuando llegan a tercero ya saben programar. Sin embargo, en el código anterior podemos ver:

  1. Tienen tres sentencias if($_COOKIE && $_COOKIE) que claramente se podrían haber puesto como if-else-if.
  2. Emplean la función strtolower() para pasar a minúsculas algo que claramente ya está en minúsculas.
  3. En vez de almacenar los datos de los usuarios en un array y emplear un bucle para comprobar si los datos son correctos, los datos están mezclados con el código y se escribe una sentencia if de comprobación por cada usuario. ¿Qué pasaría si hubiese mil usuarios?

Y en realidad, este código, programado por dos estudiantes (cuatro ojos ven más que dos), pertenece a una práctica que me sorprendió porque estos estudiantes habían sido los únicos que habían comprobado que los datos recuperados de la cookie eran válidos a la hora de restituir la sesión de un usuario (la típica opción “recordar en este equipo”).

¿Cómo puede explicar conceptos avanzados de programación web si la mayoría de mis estudiantes no son capaces de escribir correctamente unas sentencias básicas?

Cómo Internet afecta a mis estudiantes

“Cada vez que mira Internet, muere un sabio” es el clásico artículo pesimista sobre Internet:

El investigador no censura la lectura on line, “nueva y liberadora”, con grandes estímulos de imagen, vídeo, sonidos e hipervínculos; pero sí asegura que este modo de consumir información está haciendo mella en nuestro cerebro. “Somos incapaces de atender a algo durante más de dos minutos”, sentencia.

Este nuevo comportamiento tiene consecuencias neurológicas debido a la plasticidad de nuestros cerebros. Una investigación publicada en Science, en 2009, llegó a la conclusión de que “todo medio desarrolla ciertas habilidades cognitivas en detrimento de otras”. Como escribe James Flynn, profesor emérito de Estudios Políticos en la Universidad de Otago (Nueva Zelanda) en su libro ¿Qué es la inteligencia? (Tea Ediciones), cada vez somos más expertos en resolver pruebas abstractas y visuales, pero nuestra capacidad para comunicar ideas profundas, explorar nuestros propios pensamientos o enfrentarnos a lecturas complejas ha caído en picado: “No somos más listos ni tontos que nuestros abuelos: tenemos cerebros diferentes”.

Relacionado con este artículo, este curso me ha pasado algo “muy extraño”. En una de las prácticas de programación web pido (Práctica 11: PHP 6 (tratamiento de imágenes)):

Página principal
Muestra un diagrama de barras con el número de fotografías subidas durante los últimos siete días.

No voy a comentar las fantásticas sentencias SELECT que escribieron para obtener el resultado (creo que sólo uno se acordó de que existía BETWEEN, mientras que unos cuantos hizo alguna consulta que se componía de siete UNION o hizo siete sentencias SELECT separadas, una para cada uno de los últimos siete días). Lo que me sorprendió porque no recuerdo que hubiese ocurrido en años anteriores es que un porcentaje significativo de estudiantes consideró “durante los últimos siete días” como la semana actual. Es decir, calculaban las fotos subidas para la semana a la que pertenece el día actual. En el caso de hoy lunes, calcularían para hoy lunes, para mañana martes (cero fotos) y así hasta el próximo domingo (cero fotos)… ¡Qué cojones!

Sin duda alguna, por lo que puedo leer, el próximo curso será… mejor:

Niños de 12-13 años razonando (o no) un problema de matemáticas:

En un rebaño hay 125 ovejas y 5 perros. ¿Cuál es la edad del pastor?

Algunos estudiantes responden 125 – 5 = 120 años, otros responden 125/5 = 25 años, otros responden…

Trabajar con milénicos

“Muchos de ellos provienen de una estrategia educativa fallida, en la que se les consentía todo, se les explicaba que «todo el mundo es especial» y se premiaba cualquier comportamiento, incluso sin merecerlo. El resultado es que al llegar al mercado de trabajo se encuentran con que la vida no es tan fácil, mamá no va a conseguirte un ascenso y es difícil prosperar en la jungla corporativa”.

“[…] se premiaba cualquier comportamiento, incluso sin merecerlo”. Este curso también se ha dado una situación “muy extraña”, algunos estudiantes han apelado al “esfuerzo” para justificar que debían aprobar la asignatura. Ante esta situación creo que voy a cambiar de estrategia cuando tenga que discutir con ellos: les recomendaré la lectura de El secreto, famoso “best seller basura” en el que se defiende que si se desea algo con mucha intensidad, se logrará. “Desea aprobar, a ver si lo logras”.