Bueno .. jeje justo estaba leyendo el change_log de PHP 4.3.0
Parece que hay un problemilla cuando se usan nombres de arrays iguales a nombres de variables que se usan en los arrays asociados:
Cita: Fixed bug #20796 (when register_globals is on & arrays with same names are passed via get/post/cookie the data inside $_GET/$_POST/$_COOKIE can would be corrupted). (Ilia)
(aunque ahi se nombra los "superglobales" .. no se si tendrá algo q ver con los $HTTP_xxx ... y yo usé otra configuración. Supongo que parte del embrollo es por usar register_globals a ON .. asumiendo como globales la misma variable que se pasa al script que tiene el array de mismo nombre?¿)
Lo probé en mi PHP 4.3.0RC1 (register_globals a OFF) así; con nombre del array diferente y funcionó (me daba el mismo efecto q a ti .. con el "E" solo):
Código PHP:
$mensajes[1]="El usuario fue actualizado satisfactoriamente";
$mensajes[2]="El usuario no pudo ser actualizado";
$mensajes[3]="El proyecto fue actualizado satisfactoriamente";
$mensajes[4]="El proyecto no pudo ser actualizado";
echo "<br><br><div align=center><font face=Arial color=red size=2>";
$id_mensaje=$HTTP_GET_VARS['mensaje'];
echo $mensajes[$id_mensaje];
echo "</font></div><br><br>";
Un saludo,