Foros del Web » Programando para Internet » Javascript »

Recordar variables

Estas en el tema de Recordar variables en el foro de Javascript en Foros del Web. Hola!!! Tengo una página donde el usuario puede escoger de entre tres esquemas de colores Rojo, Azul y Verde. En el head tengo esto Código: ...
  #1 (permalink)  
Antiguo 01/11/2008, 14:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Recordar variables

Hola!!!
Tengo una página donde el usuario puede escoger de entre tres esquemas de colores Rojo, Azul y Verde.

En el head tengo esto
Código:
<link href="Verde.css" rel="stylesheet" type="text/css" id="estilo">
Luego, haciendo clic en tres botones, se cambia la hoja de estilos, donde arch es Rojo, Verde o Azul. Se cambia también la variable global colorActual (que gestiona el nombre de las imágenes y otras cosas).

Código:
function cambiarEstilo(arch)
{
	document.getElementById('estilo').href= arch + ".css";
	colorActual = arch;
}
En la página (en php) tengo un "contenedor", donde se carga el contenido según se cliquee en los botones (es lo de componentes/page.php).

Código:
<div id="contenedorMedio">
	    <?php 
			include("componentes/menu.php");
		?>
		
		<?php
			$page = 'componentes/'.$_GET['page'].'.php'; 
			$default = 'componentes/contenido.php';
			if(file_exists($page)) 
			{ 
			  include $page;
			}
			elseif(file_exists($default))
			{
			   include $default;
			}
			else
			{
			    echo 'La pagina no existe.';
			} 
		?>  
		<div style="clear:both;">&nbsp;</div>
	</div>

	<?php 
		include("componentes/footer.php");
	?>
</div>
Los botones tienen un código así
<a href="Home.php?page=noticias"><dt id ="Noticias"></dt></a>

Mi problema es que cuando se carga la página, se vuelve al color Verde, sin importar que el usuario ya haya escogido algún otro. ¿Cómo hago para "recordar" el valor de la variable colorActual?

Muchas gracias
  #2 (permalink)  
Antiguo 01/11/2008, 16:30
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Recordar variables

Pues no veo donde cambias el estilo, así que no podría ayudarte, pero talvez lo que tengas que hacer es usar sesiones para eso.
  #3 (permalink)  
Antiguo 01/11/2008, 16:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Recordar variables

En los dos primeros trozos de código... El "cambiarEstilo" cambia el href de estilo...

¿¿Sesiones??
No creo que tenga mucho sentido en ese contexto...
  #4 (permalink)  
Antiguo 01/11/2008, 16:40
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Recordar variables

Ok, mira, tú pones la función cambiarEstilo(), pero no colocas donde se ejecuta esa función. Y lo de sesiones claro que funcionaría, se guardaría una variable de modo que cada vez que se cargue la pagina se ejecute la función cambiarEstilo con el valor de la variable para que quede del mismo estilo que se definió. Por lo pronto solo dime donde está el evento que ejecuta la funcion cambiarEstilo().
  #5 (permalink)  
Antiguo 01/11/2008, 18:25
 
Fecha de Ingreso: noviembre-2008
Mensajes: 4
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Recordar variables

La función cambiarEstilo se ejecuta cuando se hace clic en uno de tres botones de la página...

Los botones tienen una función onclick="cambiarEstilo('Color')", siendo Color Rojo, Verde o Azul...

O sea, un visitante puede estar viendo la página de Galería y cambiar de color, luego seguir a la página Organización y debería seguir el mismo color. Mi problema es que se cambia...

Gracias!!
  #6 (permalink)  
Antiguo 02/11/2008, 04:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 39
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Recordar variables

investiga lo de las cookies,deben andar por ahi los tiros, yo no me acuerdo bien.
  #7 (permalink)  
Antiguo 02/11/2008, 14:57
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Recordar variables

No es recomendable usar cookies porque algunos navegadores no lo admiten por defecto. Bueno, lo que puedes hacer como te dije es usar sesiones mediante ajax.

En primer lugar al cargar una página debe imprimirse en el elemento body lo siguiente:

Código PHP:
<?php
    $color 
$_SESSION["col"];
?>
<body <?php if ($color) echo "onLoad=\"cambiarEstilo('$color')\""?> >
De este modo al cargarse la página si ya se ha asignado a una variable de sesión el color correspodente pues se hará el cambio mediante la función. Ahora lo botones que definen que estilo colocar deben tener otra función, una casi igual a cambiarEstilos, solamente que mediante ajax tiene que dar el valor a una variable de sesión. De ese modo cuando se recargue la página o vaya a otra página que tenga el body como lo he mostrado pues se carga la variable del estilo desde la variable de sesión. Obviamente al principio de cada página debe estar la funcion: session_start(). Espero que te sirva lo que te he aconsejado.
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:23.