Foros del Web » Programando para Internet » PHP »

Select que recuerde seleccion

Estas en el tema de Select que recuerde seleccion en el foro de PHP en Foros del Web. Hola a tod@s, con este select logro redirigir a un usuario al idioma que desea, pero cuando el usuario llega a por ejemplo a la ...
  #1 (permalink)  
Antiguo 15/08/2010, 03:57
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
Select que recuerde seleccion

Hola a tod@s,
con este select logro redirigir a un usuario al idioma que desea, pero cuando el usuario llega a por ejemplo a la pagina english.php, el select de nuevo pone "Select language" ¿Como podría hacer para que recordara la seleccion "English"?

He probado sesiones php pero sin exito. ¿Una ayudita por favor?

Código PHP:
<FORM>
<
SELECT onChange="window.location=this.options[this.selectedIndex].value;">
    <
option>Select Language</option>
    <
OPTION VALUE="spanish.php">Spanish</OPTION>
    <
OPTION VALUE="english.php">English</OPTION>
</
SELECT>
</
FORM
muchas gracias
  #2 (permalink)  
Antiguo 15/08/2010, 06:29
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Select que recuerde seleccion

Bueno, pues una solución muy muy sencilla sería que en la página english.php y spanish.php pusieras el select (como supongo que ya tienes) y dependiendo de la página en que estemos se encuentre marcado el idioma.

- ¿Como?
- Con selected.

Pon en english.php esto:
Código HTML:
Ver original
  1. <SELECT onChange="window.location=this.options[this.selectedIndex].value;">
  2.     <option>Select Language</option>
  3.     <OPTION VALUE="spanish.php">Spanish</OPTION>
  4.     <OPTION SELECTED  VALUE="english.php">English</OPTION>
  5. </FORM>
y en spanish.php esto otro:
Código HTML:
Ver original
  1. <SELECT onChange="window.location=this.options[this.selectedIndex].value;">
  2.     <option>Select Language</option>
  3.     <OPTION SELECTED VALUE="spanish.php">Spanish</OPTION>
  4.     <OPTION VALUE="english.php">English</OPTION>
  5. </FORM>

Saludos,
  #3 (permalink)  
Antiguo 15/08/2010, 06:32
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: Select que recuerde seleccion

Hola.

Segun entiendo, cuando seleccionas un idioma, recargas la página y debe quedarse el idioma elegido.

Yo lo hago utilizando

header ("Location: pagina.php?idioma=".$select)

de esa forma, recargas la página nuevamente y ahora mediante un switch puedes aplicar la propiedad "selected" a la lista y se te quedaría seleccionada.

El parametro que paso por el método GET: ?idioma=$select es el valor seleccionado en el menú desplegable. Debes aplicarle un nombre a ese menú para identificarlo.

Después en la misma página.php pones al principio:

switch ($idioma){
case "es":
$seleccion_es = "selected";
$seleccion_en = "";
break;
case "en":
$seleccion_es = "";
$seleccion_en = "selected";
}


Simplemente en tu <select>, en cada <option de cada idioma debes poner la etiqueta siguiente:


<FORM>
<SELECT onChange="window.location=this.options[this.selectedIndex].value;">
<option>Select Language</option>
<OPTION VALUE="spanish.php" <?php echo $seleccion_es; ?>>Spanish</OPTION>
<OPTION VALUE="english.php" <?php echo $seleccion_en; ?>>English</OPTION>
</SELECT>
</FORM>




Supongo que habrá otros métodos pero este al menos a mi me funciona. El codigo lo he puesto todo de memoria, quizás te de algún error pero será menor.

Si tienes más problemas ya lo vamos viendo...

Saludos.
  #4 (permalink)  
Antiguo 16/08/2010, 05:52
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 3 meses
Puntos: 3
Respuesta: Select que recuerde seleccion

Muchas gracias rafacompu,

a ver si me sale, tiene buena pinta.

Un saludo
  #5 (permalink)  
Antiguo 16/08/2010, 08:38
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Select que recuerde seleccion

si tienes 2 págs. una para ingles y otra para español y si cada una de ellas tiene un select, te recomiendo que lo hagas como dice DeFFeR, pero si usas un mismo select para las págs. entonces como dice rafacompu, y una cosa mas, usa el selected así
Código HTML:
Ver original
  1. selected='selected'
y no solo selected.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.

Etiquetas: seleccion, select
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:14.