Foros del Web » Programando para Internet » PHP »

problema con variables de sesion

Estas en el tema de problema con variables de sesion en el foro de PHP en Foros del Web. Hola a todos tengo un problema y no se como solucionarlo.Tengo una pagina .php donde en el evento onload llamo a una funcion javascript que ...
  #1 (permalink)  
Antiguo 08/05/2007, 05:02
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
Exclamación problema con variables de sesion

Hola a todos tengo un problema y no se como solucionarlo.Tengo una pagina .php donde en el evento onload llamo a una funcion javascript que me escribe el valor de una variable de sesion.El caso es que esa variable de sesion la modifico en la propia pagina segun me llegue un valor por GET,pero cual es mi sorpresa que en la funcion javascript el valor que me viene por GET lo escribe bien pero el de la variable de sesion que deberia ser el mismo porque en el codigo php tengo una asignacion me escribe siempre el valor anterior.
Por que???
__________________
Inmuebles de Galicia:www.inmueblevirtual.net
Compartir piso en Galicia:www.inmueblevirtual.net/foro
  #2 (permalink)  
Antiguo 08/05/2007, 09:15
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: problema con variables de sesion

¿Javascript escribiendo una variable de sesión? imposible: cuando JS se ejecuta, ya la conexión con el servidor está cerrada, y es el servidor el que maneja las sesiones.

Da más detalles de lo que querés hacer, así seguro que se te podrá dar una solución.


Saludos.
  #3 (permalink)  
Antiguo 09/05/2007, 03:22
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 258
Antigüedad: 19 años, 10 meses
Puntos: 0
Exclamación Re: problema con variables de sesion

Vamos a ver,si que es posible escribir desde javascript el valor de una variable de sesion....
Pongo el codigo simplificado para que vean:

Código:
<?php
session_start();
function  dibujar(){
	//accedo por el indice del inmueble en el array de los inmuebles
	//se ejecuta el if si no es una alta
 	if($_GET['indice'] != -1 && $_GET['indice'] != ""){
     	$_SESSION['indice'] = $_GET['indice'];
 		$tamano = sizeof($_SESSION['s_inmuebles'][$_GET['indice']]['Imagenes']);
 		$_SESSION['id'] = $_SESSION['s_inmuebles'][$_GET['indice']]['Id_Inmueble'];

		if(sizeof($_SESSION['s_imagenes_aux'][$_SESSION['id']]) == 0 && $_SESSION['vacio'] != 1){
			$_SESSION['s_imagenes_aux'][$_SESSION['id']] = $_SESSION['s_imagenes'][$_SESSION['id']];
 		}
	}else{
		$_SESSION['indice'] = -1;
	}
	
	$_SESSION['total'] = sizeof($_SESSION['s_imagenes_aux'][$_SESSION['id']]);

	echo "total ".$_SESSION['total'];
	
	if($_POST['subir'] == 1){
		cargar_imagen();
	}

  	//numero total de imagenes que se pueden subir de un inmueble
	$total = 8;
	$tamano = sizeof($_SESSION['s_imagenes_aux'][$_SESSION['id']]);
	$mostrados = 1;
	for($i=1; $i<=$total; $i++){//construye la tabla para todas la imagenes
		if($i <= $tamano){
			$foto = $_SESSION['s_imagenes_aux'][$_SESSION['id']][$i - 1]['Ruta_Thumb'];
			$comando = "javascript:eliminarForm(".($i - 1).");";		
		}else{
			$foto = "../imaxes/thumb/default_inmueble.jpg";
			$comando = "";
		}	

  		if($mostrados == 1){//si es la primera foto creo una fila e introduzco la foto
			echo"<tr>
				<td width='25%' class='inputtabla'>
					<img name='imgFoto$i' width='100' height='90' src='$foto'><br>";
					require_once ('../modulos/funciones.php');
					botonpeque($comando,'Borrar');
				echo"</td>";
  		}else{
	  		if($mostrados % 5 == 0){//si es la ultima foto de una fila cierro la fila y creo otra fila
				echo"</tr>
				<tr>
					<td width='25%' class='inputtabla'>
						<img name='imgFoto$i' width='100' height='90' src='$foto'>";
						require_once ('../modulos/funciones.php');
						botonpeque($comando,'Borrar');
					echo"</td>";
	  		}else{
				echo"<td width='25%' class='inputtabla'>
					<img name='imgFoto$i' width='100' height='90' src='$foto'>";
					require_once ('../modulos/funciones.php');
					botonpeque($comando,'Borrar');
				echo"</td>";
	  		}
	  	}
	  	$mostrados++;
	  	if($mostrados == 5){
			$mostrados = 1;
		}
	}
	echo"</tr>";	
}
?>
<script>
function subirForm(){
	alert("<?php echo $_SESSION['total']?>");
 	var tamano = <?php echo $_GET['total'];?>;
             alert(tamano);
 	if(tamano >= 8){
	alert("Este inmueble ya tiene todas las imágenes posibles, 8.");
             }
}
</script>
Hay mas codigo pero no es necesario que lo ponga porque con esto creo que basta.En la funcion dibujar recogo el valor de "indice" que me viene por GET y en $_SESSION['total'] almaceno el tamaño de un array y luego lo escribo,esto lo hace bien.
En la funcion subirForm realizo el alert de esa variable de sesion y cual es mi sorpresa que el valor es difrente la primera vez que cargo la pagina,ya que me mantiene el valor antiguo.
Es decir primera vez que abro la pagina,en la variable de sesion de la funcion php el total me escribe por ejemplo "5".Cierro la ventana y luego la vuelvo a abrir y ahora con otros parametros me escribe "3" pero en la funcion subirForm el alert me saca "5"!!!!!
Por que??
Cual seria la solucion??
__________________
Inmuebles de Galicia:www.inmueblevirtual.net
Compartir piso en Galicia:www.inmueblevirtual.net/foro
  #4 (permalink)  
Antiguo 10/05/2007, 08:40
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: problema con variables de sesion

Extraño... ¿podrías poner un enlace a alguna página generada por ese código?
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 22:17.