Foros del Web » Programando para Internet » PHP »

variables de sesion en internet explorer

Estas en el tema de variables de sesion en internet explorer en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 03/10/2007, 05:39
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
variables de sesion en internet explorer

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($textostrtolower($elemento["nombre"]) ) == true
                 
|| eregi($textostrtolower($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?
  #2 (permalink)  
Antiguo 03/10/2007, 06:03
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: variables de sesion en internet explorer

Ya localicé el 'poltergeist'.

El problema está en que Internet Explorer no envía en el array $_POST el botón de submit si éste no es pulsado.
En las numerosas pruebas, yo siempre escribía un texto de búsqueda y le daba a 'return'. Quitando la comprobación isset($_POST["botonBuscar"]) solucioné el problema.

Un saludo
  #3 (permalink)  
Antiguo 03/10/2007, 06:41
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: variables de sesion en internet explorer

Yo creía que no lo enviaba si no tenía nombre. ¿Si no se pulsa tampoco?
__________________
Kelpie
  #4 (permalink)  
Antiguo 03/10/2007, 08:17
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: variables de sesion en internet explorer

Pues en Internet Explorer, eso parece.
  #5 (permalink)  
Antiguo 03/10/2007, 08:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: variables de sesion en internet explorer

Cual es el codigo del boton submit?

Saludos.
  #6 (permalink)  
Antiguo 03/10/2007, 09:55
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: variables de sesion en internet explorer

Explorer es muy feo para esto... si es una imagen el submit no manda el nombre solo, sino con el sufijo _x y _y con el tamaño, y si no me equivoco, si lo mandás con enter y no con click, lo manda con valores "0"...
  #7 (permalink)  
Antiguo 04/10/2007, 10:37
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: variables de sesion en internet explorer

Cita:
Iniciado por GatorV Ver Mensaje
Cual es el codigo del boton submit?

Saludos.
Pues ahora estaba haciendo una prueba simple y, en IE, si que recibe el nombre del botón.
Código PHP:
<?php

    session_start
();
    
    
print_r($_POST);
?>

    <form action="" method="post">
        <input type="text" name="nombre" />
        <input type="text" name="edad" />
        <input type="submit" value="submit" name="botonSubmit" />
    </form>
Pues, al final, va a ser que es un poltergeist El caso es que arreglé el tema que es lo importante aunque me queda la duda de el por qué.
  #8 (permalink)  
Antiguo 04/10/2007, 10:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: variables de sesion en internet explorer

Te pregunto porque si tienes 2 botones submit y haces click en enter no se envia ninguno de los dos, es un comportamiento un tanto extranio de PHP, y creo tu problema viene de por ahi, la forma donde tienes el html.

Saludos.
  #9 (permalink)  
Antiguo 04/10/2007, 10:54
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: variables de sesion en internet explorer

Pues lo acabo de mirar y sólo hay un input-submit en la página.

De todas formas, siempre es bueno saber eso que comentas.

Gracias, GatorV
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:06.