Foros del Web » Programando para Internet » PHP »

Borrar variables de sesion sin salir de la sesion

Estas en el tema de Borrar variables de sesion sin salir de la sesion en el foro de PHP en Foros del Web. Hola, estoy haciendo una página de consulta donde el usuario puede ir estableciendo condiciones para las consultas. Estas condiciones las guardo en variables de sesión, ...
  #1 (permalink)  
Antiguo 19/11/2008, 02:56
 
Fecha de Ingreso: abril-2008
Mensajes: 69
Antigüedad: 16 años
Puntos: 0
Borrar variables de sesion sin salir de la sesion

Hola,
estoy haciendo una página de consulta donde el usuario puede ir estableciendo condiciones para las consultas. Estas condiciones las guardo en variables de sesión, pero quiero que el usuario tenga la oportunidad de borrar esas condiciones y escribir otras, y todo esto sin tener que abandonar su sesión.

He probado con session_unset() pero no sale, y tb he probado igualando las variables a "" (cadena vacía),


<form action="condiciones.php"method="POST">
<INPUT TYPE="checkbox" ID="borrarC" NAME="borrarC" TITLE="borrarC"> Borrar condiciones
<input name="enviar" type="submit" align="center"class="textoBotonLogin" value="Añadir condiciones">

Código HTML:
 </form>
			</td>	
			<?php 			
			$borrarC=$_POST['borrarC'];
			if ($borrarC == "on"){
				
					$_SESSION["condicion"]="";
					$_SESSION["suma"]="";
					$_SESSION["media"]="";
					$_SESSION['agrupar']=""; 
				}

pero esto tampoco funciona muy bien, pq tengo que darle dos veces al botón para que las borre.

¿alguien tiene alguna idea y puede ayudarme?
Muchas gracias.
Saludos.
  #2 (permalink)  
Antiguo 19/11/2008, 03:20
Avatar de Deschamps  
Fecha de Ingreso: octubre-2008
Mensajes: 257
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Borrar variables de sesion sin salir de la sesion

Cita:
esto tampoco funciona muy bien, pq tengo que darle dos veces al botón para que las borre
PHP necesita que se procese el formulario para poder actualizar las variables, es decir, que debes enviarlo sí ó sí (se ejecuta en el servidor). Aunque es posible que modificando la ubicación del código (para que se evalúe antes de mostrar el formulario) no tengas que enviar dos veces.

Una alternativa para cambiar "al vuelo" podría ser que definas un evento onchange para el checkbutton y un script en javascript que se encargue de eso (ya que éste sí se evalúa en el cliente sin necesidad de enviar los datos), para cambiar o borrar el contenido de los elementos en el formulario.

Un saludo.
  #3 (permalink)  
Antiguo 19/11/2008, 05:12
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Borrar variables de sesion sin salir de la sesion

Yo opino que lo más acertado sería pasarlo por AJAX, ya que como dice Deschamps, para que tu script funcione, debes procesar el formulario...

Lo estás ejecutando en el mismo "condiciones.php"???
  #4 (permalink)  
Antiguo 20/11/2008, 02:00
 
Fecha de Ingreso: abril-2008
Mensajes: 69
Antigüedad: 16 años
Puntos: 0
Respuesta: Borrar variables de sesion sin salir de la sesion

Si, lo hago todo dentro de condiciones.php.
  #5 (permalink)  
Antiguo 20/11/2008, 02:15
 
Fecha de Ingreso: abril-2008
Mensajes: 69
Antigüedad: 16 años
Puntos: 0
Respuesta: Borrar variables de sesion sin salir de la sesion

Gracias por contestar, lo he intentado poner en otra página para que se evalúe antes, pero el resultado es peor, pq no hace nada. Teneis alguna idea de como hacerlo sin usar ajax, es que nunca he usado ajax y no se como hacerlo.

Muchas gracias. Saludos.
  #6 (permalink)  
Antiguo 20/11/2008, 02:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar variables de sesion sin salir de la sesion

Código HTML:
 </form>
			</td>	
			<?php 			
			$borrarC=$_POST['borrarC'];
			if ($borrarC == "on"){
				
					$_SESSION["condicion"]="";
					$_SESSION["suma"]="";
					$_SESSION["media"]="";
					$_SESSION['agrupar']=""; 
				}
pienso que desde aquí vamos mal, ya que es muy ruin combinar lógica de aplicación y presentación ¡¡en un mismo script!!

según mi punto de vista lo que planeas es un "evento", y deberías atenderlo como tal..

osea, tu según presionas tu checkbox... y el borrado de tus variables lo haces en medio del HTML ...y eso esta mal; debes atender estos eventos desde el inicio de tu script, así debería de ser para no perjudicar su posible uso en otras partes (tal ves debas crear una función y reutilizarla) demás, de que no generas errores comunes... como al usar headers, cookies (y sesiones)

así, y de la manera mas sana... respondes a tu lógica de servicio con precisión sin tener que afectar mas que lo necesario, espero comprendas.... debes analizar eso

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 20/11/2008, 03:15
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Borrar variables de sesion sin salir de la sesion

Pero si lo quieres utilizar en el mismo script, como dice pateketrueke, deberías colocar ese código al principio del script, antes de empezar el html. Si no luego puedes tener problemas con headers, etc...
  #8 (permalink)  
Antiguo 21/11/2008, 02:10
 
Fecha de Ingreso: abril-2008
Mensajes: 69
Antigüedad: 16 años
Puntos: 0
Respuesta: Borrar variables de sesion sin salir de la sesion

Muchas gracias por vuestra ayuda, ya lo he solucionado, lo que he hecho es ponerlo al principio, como me habeis dicho, porque así se evalúa al principio y no interfiere en el resto.

Graciasssss.
Saludos.
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 20:27.