Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/08/2005, 09:01
HectorFA
 
Fecha de Ingreso: agosto-2005
Mensajes: 2
Antigüedad: 18 años, 8 meses
Puntos: 0
Español: Variables para varias páginas

El problema que tengo es conocer cómo usar una variable en varias páginas. Si tengo una variable con un valor que necesito utilizarla en otra página, no sé cómo conseguirlo, sólo conozco un medio de conseguir que una variable recogido de una página la puedas usar en otra, por medio de $_POST o $_GET , siempre que el valor se haya introducido mediante un formulario, y sólo puedo utilizar ese valor en una segunda página donde recojo ese valor, pero no en una tercera o posterior página, que es lo que yo necesito.

Exactamente lo que quiero es poder utilizar el valor de una variable recogida de un formulario, en más de una página.

Mi objetivo: Paginacion de la página que muestra los resultados de un formulario de búsqueda.

Cuando la paginacion la hago sobre todos los registros, es dcir, sin formularios de por medio, todo funciona perfectamente, muestra los registros por cada página sin problemas. Cuando en cambio, muestro los resultados de un formulario de búsqueda, la primera página muestra los primeros registros correctamente, y el número de páginas támbien, pero cuendo pinchas en alguna de ellas, no se puede procesar la query.

Me han comentado que por medio de variables de session pero no sé muy bien cómo utilizarlas.

Expongo el código utilizado:


$nombre_campo = strip_tags(trim($_POST['nombre_campo']));
$edad_campo1 = strip_tags(trim($_POST['edad_campo1']));
$edad_campo2 = strip_tags(trim($_POST['edad_campo2']));
$pais_campo = $_POST['pais_campo'];
$ciudad_campo = strip_tags(trim($_POST['ciudad_campo']));
$sexo_campo = $_POST['sexo_campo'];
$peso_campo1 = $_POST['peso_campo1'];

.......

/* ############ */
CONNECTION
/* ############ */

/inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if ($_GET["criterio"]!=""){
$txt_criterio = strip_tags(trim($_GET["criterio"]));
$criterio = " where ( nombre like '%".$txt_criterio."%' OR anuncio like '%".$txt_criterio."%' OR edad like '%".$txt_criterio."%' OR aficcion like '%".$txt_criterio."%'
OR detesta like '%".$txt_criterio."%' OR peso like '%".$txt_criterio."%')";
}

//Limito la busqueda
$TAMANO_PAGINA = 4;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}

if ($orden_campo = '1')
{
$sql = "SELECT ..... THE QUERY

/* ############ */
SHOW OF DATA
/* ############ */

f ($total_paginas > 1)
{
for ($i=1;$i<=$total_paginas;$i++)
{
if ($pagina == $i)
{
// si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
}
else
{
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='rdo_busqueda.php?pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
}
}
}

-------------------------------------------------------------------

El problema es cuando se vuelve a la propia web href='rdo_busqueda.php y las variables $nombre_campo, $edad_campo1 , ... ya no tiene valor pues no hay un formulario de donde recogerlos. Necesitaría poder conservar los valores previos y poder utilizarlos posteriormente, esto solucionaría mi problema.

Siento haberme extendido en mi explicación .

Si alguien pudiera ayudarme, estaría muy agradecido.