Foros del Web » Programando para Internet » PHP »

Pagina anterior con formulario

Estas en el tema de Pagina anterior con formulario en el foro de PHP en Foros del Web. Hola gente Quiero haceros una pregunta y a ver si os la puedo explicar correctamente. Tengo un formulario de busqueda por tipos de libros si ...
  #1 (permalink)  
Antiguo 18/05/2012, 10:45
Avatar de standby82  
Fecha de Ingreso: abril-2011
Mensajes: 29
Antigüedad: 13 años, 7 meses
Puntos: 0
Pagina anterior con formulario

Hola gente

Quiero haceros una pregunta y a ver si os la puedo explicar correctamente.

Tengo un formulario de busqueda por tipos de libros si seleciona aventura y le doy a buscar me saca un listado de los libros de aventuras, lo mismo con accion y con comic.

La programacion d ela página de busqueda es sencilla:
Código PHP:
menu($categoria);
obtener_libros($categoria);
formato_resultados($global_result); 
menu(); cargamos el menu de busqueda donde selecionamos la categoría y le damos a enviar, tiene un formulario con un campo categoria y el botón enviar

obtener_libros(); obtenemos array con los resultados de la busqueda de menu()
formato_resultados(); sacamos por pantalla los resultados obtenidos en obtener_libros()

Vale, todo funciona correctamente, pero el único problema que tengo es a la hora de ir hacia atras, es decirdarle a "ir a la página anterior" que me ocurre los siguiente:

si he realizado las siguientes busquedas:
1º accion
2º comic
3º aventuras
estando en la página con el resultado de aventuras, le doy hacia atrás y me sale los resultados de comic, pero en menu, sigue apareciendo la selecccion de aventura.
Si le vuelvo a dar hacia atrás me sale los resultados de accion y en el menu la seleccion de comic.
Si le vuelvo a dar hacia atrás no me salen resultador (correcto) y en el menu la seleccion de accion.

Como veis el menu al ir hacia atrás parece que va con una página de retraso y no se poque puede ser.
  #2 (permalink)  
Antiguo 18/05/2012, 10:50
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Pagina anterior con formulario

Necesitarías exponer el código de estas funciones, ya que seguramente estén manejado una variable de sesión donde almacenan la sección y por eso al ir atrás ésta no cambia.
  #3 (permalink)  
Antiguo 18/05/2012, 11:07
Avatar de standby82  
Fecha de Ingreso: abril-2011
Mensajes: 29
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Pagina anterior con formulario

no, no utilizo variables de sesion

funcion de menu

Código PHP:
function menu($categoria, )
{
$categoria= $_POST['categoria'];


?>
<form name="menu" enctype="multipart/form-data" method="post" action="anuncios.php"  >
<table width="1152" height="240" border="0"cellpadding="0" cellspacing="0">
  <tr>
    <td height="240" bgcolor="#3a6ea5"><table width="1085" height="165" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td width="844"><table width="816" height="165" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td width="204" bgcolor="#33CCFF"><table width="200" border="0" cellpadding="0" cellspacing="0">
                <tr>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td align="left"><strong>&nbsp;&nbsp;Lo que buscas </strong></td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                </tr>
              </table></td>
              <td width="298" bgcolor="#33CCFF"><table width="238" border="0">
                <tr>
                  <td><div align="center">Categoria </div></td>
                </tr>
                <tr>
                  <td><?php crear_select($categoria);?> </td>
                </tr>
              </table></td>
              <td width="246" bgcolor="#33CCFF"><table width="200" border="0">
                <tr>
                  <td>Descripcion</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                </tr>
              </table></td>
              <td width="68" bgcolor="#33CCFF">&nbsp;</td>
            </tr>
            <tr>
              <td bgcolor="#66FFFF"><table width="200" border="0">
                <tr>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td align="left">&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                </tr>
              </table></td>
              <td bgcolor="#66FFFF">&nbsp;</td>
              <td bgcolor="#66FFFF">&nbsp;</td>
              <td bgcolor="#66FFFF">&nbsp;</td>
            </tr>
          </table>
          </td>
        <td width="312"><table width="203" border="0">
          <tr>
            <td width="188" align="left">&nbsp;</td>
          </tr>
          <tr>
            <td>&nbsp;</td>
          </tr>
          <tr>
            <td height="26" align="center"> <input type=submit value="Buscar" >&nbsp;</td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>
</form> 
<?php
}
funcion obtener Libros
Código PHP:
function obtener_libros($categoria



  if (!(
$conn db_connect()))
  {
  echo 
"  No conectado   ";
    return 
false;
    }
 
$result mysql_query"select * from libros where categoria = '$categoria'");
     
  if (!
$result)
    {
    return 
false;
    }
global 
$global_result;
$global_result=$result;
return 
global_result;    

}; 
formato_resultados($global_result);
Código PHP:
function formato_resultados($global_result)
{
while ($row=mysql_fetch_array($global_result)) 
    { //Bucle para ver todos los registros
      $titulo=$row['Titulo']; //datos del campo nombre
      $cambiox=$row['autor']; //datos del campo teléfono
      $ciudad=$row['genero']; //datos del campo email
     // echo "$titulo, $autor, $genero. <br/>"; //visualizar datos
     


    
    ?>  
<style>
.c1 {background-color:white; color:black; border:1px solid #F5F5F5 }
.c2 {background-color:Ghostwhite; color: black; border:1px solid #F5F5F5; cursor: pointer}
.c3 {color: blue; font-size:14px; font-weight:bold; font-family:Arial, Helvetica, sans-serif}
.c4 {color: black; font-size:12px; font-family:Arial, Helvetica, sans-serif}
.c5 {border:1px solid #F5F5F5 }
</style>
    

<table onMouseOver="this.className='c2'" onMouseOut="this.className='c1'" table width="900" align="center"  cellspacing="1" class='c5' cellpadding="0" onClick="document.location.href='index.html'">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td class ="c3" width="232" height="84" ><?php echo "&nbsp&nbsp".trim($titulo);?></td>
    <td class ="c4" width="529" ><?php echo $autor;?> <div align="left"></div></td>
    <td width="135" ><?php echo $genero;?><div align="right"></div></td>
</tr>

</table>
</tr>
</table>


<?php        
      
      
      
// fin del Wili


// fin de funcion
espero que os sirva
  #4 (permalink)  
Antiguo 18/05/2012, 11:36
Avatar de standby82  
Fecha de Ingreso: abril-2011
Mensajes: 29
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Pagina anterior con formulario

he averiguado que es por esto
Código PHP:
<td><input name="des_buscas" type="text" value="<?php echo $descrip?>" size="40" /></td>
He puesto en el input el valor <?php echo $descrip; ?> para hacer que una bez que le de al boton buscar mantenga la selecion hecha, pero claro al poner esto e ir hacia atrás con el boton retroceder del navegador, pues no funciona correctamente.

Hay alguna forma de solucionarlo??

Etiquetas: formulario, anteriores
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 21:41.