Foros del Web » Creando para Internet » Diseño web »

IE no pasa una variable GET al dar enter a buscador pero si Opera y FF

Estas en el tema de IE no pasa una variable GET al dar enter a buscador pero si Opera y FF en el foro de Diseño web en Foros del Web. Hola! Tengo el siguiente problema, curioso. Para un buscador de mi página tengo el siguiente formulario: Código HTML: <form name= "buscar" id= "buscador" action= "busca.php" ...
  #1 (permalink)  
Antiguo 12/01/2009, 11:10
Avatar de Threepwood  
Fecha de Ingreso: febrero-2002
Ubicación: Argentina
Mensajes: 892
Antigüedad: 15 años, 10 meses
Puntos: 3
IE no pasa una variable GET al dar enter a buscador pero si Opera y FF

Hola!

Tengo el siguiente problema, curioso. Para un buscador de mi página tengo el siguiente formulario:

Código HTML:
		   <form name="buscar" id="buscador" action="busca.php" method="GET">

            <input type="text" size="50" value="" name="frase" />

            <input type="submit" name="buscar" id="buscar" value="Buscar" />

            </form> 

que va a busca.php

Código PHP:

 <?

        
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar') {

    include(
"config.php");
    require_once 
"PHPPaging.lib.php";


     
$frase addslashes($_GET['frase']);

        
$num_car strlen($frase);

    
// hacemos la consulta de busqueda
       
mysql_query("SET NAMES utf8");

    
$sqlBuscar "SELECT id, titulo, grupo, autor, estado, otros, direccion, reparto, sinopsis,
                              MATCH (titulo, grupo, autor, estado, otros, direccion, reparto, sinopsis)
                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
                              FROM obras07
                              WHERE MATCH (titulo, grupo, autor, estado, otros, direccion, reparto, sinopsis)
                              AGAINST ('$frase' IN BOOLEAN MODE)
                              ORDER BY coincidencias DESC"
;






   
$query mysql_db_query($db,$sqlBuscar,$link)  or die(mysql_error());



    
$totalRows mysql_num_rows($query);
    
// Enviamos un mensaje
    // indicando la cantidad de resultados ($totalRows)
    // para la frase busada ($frase)
    
if(!empty($totalRows)){

          
$paging = new PHPPaging;
        
$paging->porPagina(12);
        
$paging->agregarConsulta($sqlBuscar);
        
$paging->mantenerVar("frase""buscar");
        
$paging->nombreVariable("pagina");
        
$paging->linkSeparador(' - ');
        
$paging->paginasAntes(10);
        
$paging->paginasDespues(10);
        
$paging->linkClase("paginacion");
        
$paging->ejecutar();
        
$links $paging->fetchNavegacion();

    echo 
stripslashes("<p class=\"cantidad\"><strong>$totalRows</strong> resultados para <strong>$frase</strong><br />");
   echo 
"Mostrando <strong>".$paging->numRegistrosMostrados()."</strong> por página de un total de <strong>".$paging->numTotalRegistros()."</strong></p>";

        if(
$paging->numTotalPaginas() >= 2) {

         echo 
"<div id=\"paginas\">$links</div>";

             }

        echo 
"<ul id=\"listado_obras\">";

         while(
$row =  $paging->fetchResultado()){

            echo 
"<li><a href='ficha.php?id=$row[id]'>$row[titulo]</a><br />";
            echo 
"<strong>Grupo: </strong>$row[grupo]<br />";
            echo 
"<strong>Estado: </strong>$row[estado]<br />";
            echo 
"<em>Coincidencias: "round($row['coincidencias']) ."</em>";
            echo 
"</li>";

        }

        echo 
"</ul>";

    }



    
// si se ha enviado vacio el formulario
    // mostramos un mensaje del tipo Oops...!
    
elseif(empty($_GET['frase'])){
        echo 
"<p>Debe introducir una palabra o frase.</p>";
    }

        elseif(
$num_car 4) {

       echo 
"<p>La busqueda debe tener más de 3 caracteres</p>";

    }


    
// si no hay resultados
    // otro mensaje del tipo Oops...!
    
elseif($totalRows == 0){
        echo 
stripslashes("<p>Su búsqueda no arrojo resultados para <strong>$frase</strong></p>");
    }





}


    
?>
todo funciona perfecto en Opera, IE y Firefox PERO, en IE si, en lugar de presionar el boton, se le da enter, la variable buscar=Buscar no se crea y entonces el busca.php no lanza ningun resultado ni ningun error.

en la url debería de verse asi: busca.php?frase=ford&buscar=Buscar

pero solo se ve busca.php?frase=ford


repito, eso solo pasa en IE cuando se pulsa enter, en todos los demas nav. va perfecto.

alguna solucion?

gracias.
__________________
Equívocos sin importancia
  #2 (permalink)  
Antiguo 12/01/2009, 11:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
Respuesta: IE no pasa una variable GET al dar enter a buscador pero si Opera y FF

Tema trasladado a Web General.

Es un problema de IE, probablemente por algo en tu pagina web o si estas poniendo código Javascript.

No es un problema de PHP.

Saludos
  #3 (permalink)  
Antiguo 12/01/2009, 11:52
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.591
Antigüedad: 12 años, 2 meses
Puntos: 49
Respuesta: IE no pasa una variable GET al dar enter a buscador pero si Opera y FF

seria mejor que pusieras una condición de tipo

if(isset($_GET['buscar']) && $_GET['frase'] != "")

ya que me parece que IE no envia el valor de los botones por GET.... y digo solo el valor de instancia o nombre del boton por URL pero si lo reconoce :/ es algo raro X)

saludos...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 14:16.