Foros del Web » Programando para Internet » PHP »

Problemas con sesiones.

Estas en el tema de Problemas con sesiones. en el foro de PHP en Foros del Web. Cuando a una sesion le doy un nombre, luego puedo borrarla haciendo referencia a ese nombre? Es que tengo en mi página 2 sesiones por ...
  #1 (permalink)  
Antiguo 27/10/2007, 11:56
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Problemas con sesiones.

Cuando a una sesion le doy un nombre, luego puedo borrarla haciendo referencia a ese nombre?

Es que tengo en mi página 2 sesiones por así decirlo, 1 es para un formulario (por el tema de guardar valores) y me interesa que cuando el formulario se envia con éxito o se cierra el navegador se borre esa sesion (ahora si el formulario no se envia con exito, se cierra el navegador y se entra de nuevo la sesion de los valores aún existe.)

Como hago para cargarme la sesion del formulario al cerrar el navegador teniendo en marcha otra sesion? (la de los usuarios logueados).

Gracias.
  #2 (permalink)  
Antiguo 27/10/2007, 17:08
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Pregunta Re: Problemas con sesiones.

La verdad no te entendí, no sé a ciencia cierta que es lo que te pasa
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 27/10/2007, 18:52
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

A ver, en mi web uso sesiones para los usuarios logueados, para el acceso a zonas y demás.

Bien, ahora tengo un formulario en el que quiero que al validarlo con php, si no es correcto, los valores de los campos se guarden. Hago un session_start(); y almacenos los valores en la sesion.

Mi pregunta es, se mezclan las dos sesiones (usuarios y formulario)? como hago que al cerrar el navegador o se valide el formulario, esos valores de la sesion se destruyan?
  #4 (permalink)  
Antiguo 29/10/2007, 11:10
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Nadie sabe como puedo tratarlo esto?
  #5 (permalink)  
Antiguo 30/10/2007, 07:44
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Re: Problemas con sesiones.

Hola AbdelioR, cómo vas??

Lamentablemente no tengo mucho tiempo para ayudarte

Pero lo que te puedo decir es que eso es cuestión de configuración del php.ini, destruir una sesión al cerrar el navegador

No me acuerdo muy bien el nombre de las instrucciones, pero creo que son como te lo voy a decir. Revisa en tu php.ini que la instrucción use_trans_id sea igual a 0 ò esté en Off. Después mira que use_cookies esté en 1 ó en On, y después mira que la instrucción use_only_cokies este activa, creo que se le debe quitar un ;(punto y coma).

Con esa configuración se te destruyen las sesiones cuando cierres el navagador. No entro en el detalle del por que pero si lo necesitas cuando tenga tiempo te digo..

Adiós
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 30/10/2007, 13:15
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Gracias por tu respuesta Carxl, no es eso lo que necesito ya que en mi web uso sesiones para los usuarios logueados y no me interesa destruir esa sesión. Creo que me estoy liando y estoy diciendo que uso 2 sesiones cuando solo hay 1 no?

Si un usuario tiene una sesion activa con sus datos de usuario, y el usuario luego en un formulario hace:

session_start();
session['campo1'] = valor del campo 1;

sigo teniendo una sesion únicamente no? no creo otra sesion diferente :S

Mi dilema está con el formulario, en no perder los valores que pone el usuario en el caso de que el formulario no sea correcto. Para esto pongo los valores en variables de sesion, pero me interesaria que no quedaran registrados al enviar con éxito el formulario o cerrar la web.

Como hago para que al cerrar la web se pierdan estos valores de sesion, pero queden intactos los otros valores de sesion del usuario logueado?

Un saludo :)
  #7 (permalink)  
Antiguo 30/10/2007, 14:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 44
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problemas con sesiones.

Me parece a ver entendido todo lo discutido anteriormente, cuando usas sesiones es para llevar los datos de un usuario loguedo de pag a pag, hasta ahi estamos, ahora para eso no importa que agregues los datos que quieras y los borres al final lo que te importa es el "SID", esto es el identificador de la sesion.

Primero agrega los datos a la sesion $_SESSION["nombre_var"] = Dato_formulario

y despues si los datos del formulario estan mal vuelves a cargar la pagina de formularios y lo que haces es leer los datos de la sesion <input type="text" value="$_SESSION['nombre_var']">

Me parece que esa es la idea.....
  #8 (permalink)  
Antiguo 30/10/2007, 15:10
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Si, así lo hago.

Pero ahora imagina que el usuario envia mal el formulario y cierra el navegador. Los datos siguen guardados en las variables de sesion, y al cargar el formulario aparecerian de nuevo los datos rellenados anteriormente. Es lo que quiero evitar :)
  #9 (permalink)  
Antiguo 30/10/2007, 16:17
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Problemas con sesiones.

Hola AbdelioR!!

Pues entonces no utilices sesiones para guardar los datos del usuario en los values de los respectivos objetos, pásalos por URL los que se puedan ver... y recibelos con $_GET nuevamente en los values.

Espero me entiendas...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #10 (permalink)  
Antiguo 30/10/2007, 16:58
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Es una opcion, pero son muuuchos valores, muchos para pasarlos por url, muy feo, no me gusta, xDD

No hay ninguna otra manera que no sea por url?
  #11 (permalink)  
Antiguo 30/10/2007, 21:48
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Problemas con sesiones.

Que feo es no?....

Si lo pasas con GET no se ven en la barra de direcciones..

Saludos.
__________________
Nuevamente a las pistas ...
  #12 (permalink)  
Antiguo 31/10/2007, 01:12
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Para hacer el get no tengo que poner www.url.php?campo=valor?
  #13 (permalink)  
Antiguo 31/10/2007, 09:12
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Problemas con sesiones.

tomas los valores desde un formulario con method get pero no se muestran en la barra de direcciones
__________________
Nuevamente a las pistas ...
  #14 (permalink)  
Antiguo 31/10/2007, 10:07
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Si... pero cuando proceso el formulario, si es incorrecto hago un "header" a la misma pagina pero con un mensaje de error, que si que paso por "url" y lo tomo con get.

En esta nueva página, necesito los valores del formulario que puso el usuario antes, para que no deba introducirlos de nuevo. Se podrian pasar todos por get pero son demasiados, y por eso los introduzco en sesiones.

El problema de las sesiones es el que comenté anteriormente ;)
  #15 (permalink)  
Antiguo 31/10/2007, 15:55
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Pregunta Re: Problemas con sesiones.

Hola de nuevo AbdelioR... cómo vas?'

Las sesiones en php se destruyen de tres maneras:

1. Si cierras el navegador... arriba te comenté sobre eso.
2. Por inactividad... osea que no hayan visitado ninguna página de tu sitio por cierto tiempo.
3. Al picar explìcitamente en un link "Salir".

Quieres que al cerrar el navegador se destruyan unas variables de session y otras no.... Nunca lo he hecho pero creo que puedes unir dos temas de sessiones... Cookies y el cerrar el navegador.

Te explico mas o menos la idea que se me ocurrió:
Qué tal si creas una cookie solo con las variables de session que necesitas?? y las otras que dependan de la configuraciòn que te cpmenté arriba...

Será que sirve... fue lo único que se ocurrió

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #16 (permalink)  
Antiguo 31/10/2007, 18:33
Avatar de AbdelioR  
Fecha de Ingreso: septiembre-2006
Ubicación: Tarragona
Mensajes: 926
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Problemas con sesiones.

Bueno pues al final lo he solucionado de la manera, no se si decirlo, mas tonta que veo...

Cuando cargo el formulario compruebo que la variable "code" (inventada) valga 1, si no vale 1 elimino las variables de session con el "unset", si vale 1 las dejo tal cual (si vale 1 es que hemos procesado el formulario y estaba mal).

Funcionar funciona.... con el tema de cookies ya no sabria como hacerlo pero bueno, esta es la solución que se me ha ocurrido :)
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:02.