Hola, tengo un poltergeist entre manos. Se trata de un formulario de búsqueda, una página que realiza la búsqueda y de nuevo al inicio para mostrar los resultados que guardo en variables de sesión.
El poltergeist consiste en que con FireFox recibo bien los resultados de la búsqueda pero con Internet Explorer (v6.0) no.
(proceso de búsqueda)
Código PHP:
// funcion necesaria para trabajar con sesiones
session_start();
// cargamos el idioma
include_once("lang.php");
// cargamos los sectores y los productos
require_once("definitions.php");
// variable resultado
$resultado = array();
// mostramos el resultado de la busqueda
if( isset($_POST["botonBuscar"])
&& !empty($_POST["texto"]) )
{
// comprobamos el tipo de búsqueda
switch( $_POST["tipo"] )
{
case BUSQUEDA_SECTORES:
$lista = $sectores;
break;
case BUSQUEDA_PRODUCTOS:
$lista = $productos;
break;
}
// realizamos la búsqueda
$texto = strtolower($_POST["texto"]);
foreach( $lista as $index => $elemento )
{
if( eregi($texto, strtolower($elemento["nombre"]) ) == true
|| eregi($texto, strtolower($elemento["descripcion"]) ) == true )
{
// comprobamos que el elemento no este en la lista
if( !in_array($elemento, $resultado) )
{
$resultado[] = $elemento;
}
}
}
}
// instanciamos la variable resultado
$_SESSION["busqueda"] = $resultado;
// comprobamos el tipo de busqueda para seleccionar el destino
switch($_POST["tipo"])
{
case BUSQUEDA_SECTORES: $url = "sectores.php";
break;
default:
case BUSQUEDA_PRODUCTOS: $url = "productos.php";
break;
}
$_SESSION["hola"] = "caca";
// redireccion al buscador
header("Location: ".$url);
(página de resultados)
Código PHP:
session_start();
print_r($_SESSION);
En IE, la variable 'hola'=>'caca' se muestra pero la variable 'busqueda' sale vacia ( en plan Array() ). ¿Alguien tiene idea de qué puede estar pasando?