Foros del Web » Programando para Internet » PHP »

Almacenar en session lo que esta en post y mantenerlo aunque el post haya cambiado

Estas en el tema de Almacenar en session lo que esta en post y mantenerlo aunque el post haya cambiado en el foro de PHP en Foros del Web. Saludos a todos, Necesito su ayuda por favor: Estoy haciendo un sistema online y necesito saber algo sobre la variable de session ya que yo ...
  #1 (permalink)  
Antiguo 28/05/2011, 12:12
Avatar de genaro_belen  
Fecha de Ingreso: diciembre-2010
Ubicación: Santo Domingo, RD
Mensajes: 94
Antigüedad: 13 años, 4 meses
Puntos: 3
Pregunta Almacenar en session lo que esta en post y mantenerlo aunque el post haya cambiado

Saludos a todos,
Necesito su ayuda por favor:
Estoy haciendo un sistema online y necesito saber algo sobre la variable de session ya que yo se registrar una variable en session pero alimentandose desde una base de datos.

Recuerden que cuando envio unos datos por post y hago click en la barra de direcciones y presiono enter, los datos que vinieron por post se eliminan y las barriables se quedan o con el valor por defecto o te da un error si no le pusiste valor por defecto a esa variable.

Mi inquietud es la siguiente: Como hacer que me almacene en session una variable que envie por post y aun haciendo lo que mencione arriba (osea haciendo click en la url y dandole a enter) NO SE ME PIERDA EL VALOR QUE LE PASE A LA VARIABLE EN SESSION...


EJEMPLO:
$_SESSION["s_cost"] = $_GET['SM'];
echo $_SESSION["s_cost"];

Yo quiero que luego de almacenar la variable en la session, aun cambiando el valor que esta en $_GET, la variable de session no cambie.

GRACIAS... ESPERO QUE ME PUEDAN AYUDAR...
  #2 (permalink)  
Antiguo 28/05/2011, 12:52
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Almacenar en session lo que esta en post y mantenerlo aunque el post haya

pues.......
Veamos:
Si para almacenar en sesión los datos haces así:
$_SESSION["s_cost"] = $_GET['SM'];

SIEMPRE que refresquen la página la sesión "perderá" los valores pues al tomarlos del url sin datos el $_GET estará vacío, y así vacíos serán almacenados en variables de sesión, por tanto quizá con una instrucción como esta:

Código PHP:
Ver original
  1. if( $_GET['SM']!=null)//si el $_GET no esta vacío
  2.       $_SESSION["s_cost"] = $_GET['SM'];
  #3 (permalink)  
Antiguo 28/05/2011, 13:11
Avatar de genaro_belen  
Fecha de Ingreso: diciembre-2010
Ubicación: Santo Domingo, RD
Mensajes: 94
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Almacenar en session lo que esta en post y mantenerlo aunque el post haya

Gracias por responder:
Eso lo entiendo perfectamente, pero es que esa informacion la recibo de una formulario que esta en la pagina anterior...

Osea esa es una variable recibida, entonces me gustaria almacenarlo en session para evitar que el valor sea cambiado por un tercero osea perdido como ya explico arriba cuando se hace por post...

Como debo hacer para que ese valor una vez tomado no se cambie si no vuelven a enviar el valor desde la pagina anterior?


Gracias
  #4 (permalink)  
Antiguo 28/05/2011, 13:13
Avatar de genaro_belen  
Fecha de Ingreso: diciembre-2010
Ubicación: Santo Domingo, RD
Mensajes: 94
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Almacenar en session lo que esta en post y mantenerlo aunque el post haya

Si te fijas, cuando un usuario es logueado que se almacena toda esa informacion en session, ya aunque elimine el usuario de la base de datos, la informacion de ese usuario esta en session...

es algo asi que quiero pero que no sea extraida de ninguna base de datos, sino de un formulario que fue enviado por post...

Gracias
  #5 (permalink)  
Antiguo 28/05/2011, 13:16
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Almacenar en session lo que esta en post y mantenerlo aunque el post haya

No has puesto atención
Primero debes comprobar que el valor que recibes del formulario anterior no esté vació, eso lo puse en mi respuesta anterior.

Para lo que quieres, sólo bastaría agregar que verifique que la variable de sesión esté vacía:

Código PHP:
Ver original
  1. if( $_GET['SM']!=null and $_SESSION["s_cost"]==null)//si el $_GET no esta vacío y la variable de sesión está vacía
  2.       $_SESSION["s_cost"] = $_GET['SM'];
  #6 (permalink)  
Antiguo 28/05/2011, 13:35
Avatar de genaro_belen  
Fecha de Ingreso: diciembre-2010
Ubicación: Santo Domingo, RD
Mensajes: 94
Antigüedad: 13 años, 4 meses
Puntos: 3
Pregunta Respuesta: Almacenar en session lo que esta en post y mantenerlo aunque el post haya

Cita:
Iniciado por ocp001a Ver Mensaje
No has puesto atención
Primero debes comprobar que el valor que recibes del formulario anterior no esté vació, eso lo puse en mi respuesta anterior.
Realmente me apena que no me haya dado a entender... yo esa parte la manejo:

ME EXPLICO MEJOR CON EJEMPLO:

IMAGINATE QUE TU ENVIES POR $_GET EN UN FORMULARIO EL VALOR DE ENVIO DE UN PRODUCTO, Y LUEGO EL CLIENTE CUANDO MIRA LA URL VERIFICA QUE EL PRECIO ES 50.00 Y QUIERE BAJAR ESE PRECIO A 1.00 PUEDE HACERLO Y ASI MI APLICACION SE VE MUY VULNERABLE, POR ESO YO QUISIERA QUE SE QUEDE EN SESSION EL VALOR QUE SE ENVIO ANTERIORMENTE QUE ES 50.00 Y NO SE ACTUALICE POR EL 1.00 QUE CAMBIO EL CLIENTE EN LA URL...

ME ENTIENDES?

Etiquetas: almacenar, post, session
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 16:00.