Foros del Web » Programando para Internet » PHP »

mantener el valor de una variable

Estas en el tema de mantener el valor de una variable en el foro de PHP en Foros del Web. HOLAS! Mi problema es el siguiente: En un formulario, con POST, envio una cadena: "Disponible" "Alquilada" "Dada de baja", etc. Cuando pulso el boton "Filtrar" ...
  #1 (permalink)  
Antiguo 08/12/2008, 18:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 3
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación mantener el valor de una variable

HOLAS!

Mi problema es el siguiente:

En un formulario, con POST, envio una cadena: "Disponible" "Alquilada" "Dada de baja", etc.
Cuando pulso el boton "Filtrar" del formulario, se vuelve a recargar la pagina. almacenando el valor en un POST, despues ese post lo copio a una variable q' se le pasa a una funcion.digamos:

if((!empty($_POST["filtro"]))){
$valorfiltro = $_POST["filtro"];
define ("$filtro", "$valorfiltro");
}

y llamando a una funcion que realiza la consulta en el servidor MySQL.
Si yo no selecciono nada, no se almacena nada en el post y la consulta se realiza sin filtrar.
Si eligo alguna de las opciones, la consulta sql se hace de lo mas bien y queda "WHERE estadopropiedad = "Disponible", por ejemplo.
El problema es, que si lo vuelvo a presionar, OBVIAMENTE el POST queda vacio y me hace la consulta sin nada.

Mi pregunta:
Como hago para que se almacene en una variable el valor q' le pase...y por mas q' yo no ingrese nada y recargue la pagina, se siga manteniendo ese valor en la variable.

En este caso probe definiendo la variable $filtro, pero no me sirve de nada.

GRACIAS
  #2 (permalink)  
Antiguo 08/12/2008, 18:48
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: mantener el valor de una variable

No se si me entenderas porque no estoy acostumbrado a postear y tampoco se mucho pero... ahi va: XD
como no as puesto el codigo entero pongo una muestra de lo que yo ago:
if(isset($_POST['filtro'])) // si ya as recargado la pagina porque ya le as dado a enviar,sinonimo de lo que usas tu
{
$valor=$_POST['filtro'];
}
else
{
$valor="";
}
//aqui vendria todo el html hasta el input del formulario
<form ac....>
<input type="text" name="filtro" value="<?php echo $valor; ?>">
</form>

dandole la propiedad "value" al input defines lo que quieres que salga por defecto, en caso de ser la primera vez que cargas la pagina como todavia no as escrito nada, vamos no as realizado ninguna consulta pues la variable $valor estara vacia, pero existira, asi salvas el error (undefined variable) en caso de cargar la pagina por primera vez.
No se si me he explicado bien espero que te sirva
  #3 (permalink)  
Antiguo 08/12/2008, 19:04
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: mantener el valor de una variable

si quieres que aunque la pagina se recarge mantenga un valor entonces la solucion seria enviar el valor del filtro por GET y no por POST :)

saludos...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 08/12/2008, 19:39
Avatar de djdraft  
Fecha de Ingreso: abril-2008
Mensajes: 118
Antigüedad: 16 años
Puntos: 0
Respuesta: mantener el valor de una variable

Men mejor usa una variable de session asi dde simple

session_start();
$_SESSION['nombre_cualquiera'] = $_SESSION['valor_de_tu_variable'];

y listo aunque se salga de esa pagina puedes llamar a esa session desde cualquier pagian asi
$_SESSION['nombre_cualquiera'] y tendra el valor k le diste.
__________________
<img src="http://i280.photobucket.com/albums/kk197/djdraft22/DR.jpg">
  #5 (permalink)  
Antiguo 08/12/2008, 22:08
 
Fecha de Ingreso: noviembre-2008
Ubicación: Chile
Mensajes: 36
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: mantener el valor de una variable

Cita:
Iniciado por djdraft Ver Mensaje
Men mejor usa una variable de session asi dde simple

session_start();
$_SESSION['nombre_cualquiera'] = $_SESSION['valor_de_tu_variable'];

y listo aunque se salga de esa pagina puedes llamar a esa session desde cualquier pagian asi
$_SESSION['nombre_cualquiera'] y tendra el valor k le diste.
no es asi exactamente, me permito afinar un poco, al definir tu variable de session debe ser de esta manera:

session_start(); // antes de cualquier bloque html o php
$_SESSION['mi_variable'] = $tu_variable;

y para recuerda q cada vez que quieras imprimir esa variable debes poner en el php

session_start(); //antes de cualquier bloque de codigo html o php, o sino te dará error pq eso ya me sucedio >_<

$var = $_SESSION['mi_variable];
print $var;

y asi tendrás el valor!

suerte!
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 13:01.