Foros del Web » Programando para Internet » PHP »

Problema con propagacion de sesiones

Estas en el tema de Problema con propagacion de sesiones en el foro de PHP en Foros del Web. Hola tengo el siguiente problema estoy haciendo un sitio que debe salir en 3 idiomas y para el efecto necesito usar una sesion que me ...
  #1 (permalink)  
Antiguo 06/07/2006, 09:18
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Problema con propagacion de sesiones

Hola tengo el siguiente problema estoy haciendo un sitio que debe salir en 3 idiomas y para el efecto necesito usar una sesion que me almacene el valor actual del idioma que ha sido seleccionado por el usuario o el valor por defecto del lenguaje que tiene su navegador. Cuando voy a efectuar dicha propagacion no me pasa el valor seleccionado ni el por defecto ya revise que el session_trans_id estuviera en 1 en mi php estaba en cero y yo lo pase a 1 pero aun asi no me hace nada aqui les mando los codigos para que me den una mano no sea que yo este haciendo algo mal es la primera vez que uso sessiones en un trabajo.

Este es el codigo de la pagina index que es la que me recoge los valores para la variable de session

Código PHP:
<?php
$lang
=$_GET['idt'];
if(empty(
$lang)){
$lang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
switch(
$lang){
case  
"es";
$lang="espanol";
break;
case  
"en";
$lang="english";
break;
case  
"fr";
$lang="france";
break;
default;
$lang "english";
}
} else {
session_start();
$_SESSION['varIdioma']=$lang;
switch (
$_SESSION['varIdioma']) {
case 
$_SESSION['varIdioma']:require("lang/".$_SESSION['varIdioma'].".inc.php"); 
break;
}
//una carpeta lang con los archivos es.inc.php y en.inc.php
}?>
Este es el codigo que le pongo para que me lea la variable de session en las demas paginas

Código PHP:
<?php session_start();
$lang $_SESSION['varIdioma'];
?>
Espero me puedan ayudar :
  #2 (permalink)  
Antiguo 06/07/2006, 11:46
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 13 años
Puntos: 1
Que tal. No veo nada extraño en u codigo de todas formas te recomiendo que coloques el session_start() al inicio de tu página php, otra cosita que no se si pueda estar influyendo es que estas utilizando un archivo del que no estas mostrando el codigo require("lang/".$_SESSION['varIdioma'].".inc.php"), revisa allí si has puesto el session_start(), sino estas vaciando la variable en ese archivo. Espero que te de luces... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 06/07/2006, 12:41
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 13 años, 7 meses
Puntos: 0
Hola Quintero no hermano esas paginas solo contienen los nombres en los diferentes idomas no hay ninguna funcion dentro ni nada que pueda vaciarme la variable.
  #4 (permalink)  
Antiguo 06/07/2006, 13:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(Asumimos que el código llega a tu "case" y con el valor esperado de tu resto de variables?)

Y....

Como propagas el SID? (Identificador Único de Sesión).

Si no lo mencionas ni aparentemente se vé en tu código .. "asumes" que lo propagas por cookies.

Te recomiendo leer mis comentarios al respecto en este tema:
http://www.forosdelweb.com/showpost....39&postcount=4

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 06/07/2006, 14:41
 
Fecha de Ingreso: mayo-2004
Ubicación: Ciudad de la Habana
Mensajes: 85
Antigüedad: 13 años, 7 meses
Puntos: 0
Hola Cluster no no las intento pasar por cookies por el contrario estoy tratando de que php me propague de forma automatica el sid y le puse en session_trans_id = 1
session_use_only_cokies = 0
session_cokies = 0

Pero nada sucede cuando trato de que me la propague y modifique de forma automatica el SID.

Tienes alguna idea de que pueda ser????.

Salu2,
Manuel.
  #6 (permalink)  
Antiguo 06/07/2006, 16:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Faltaría ver el código que usas . .no se vé que tipo de redirecciones haces. PHP aunque uses session.trans_sid a 1 y no propagues el SID en cookies .. no te va a insertar el SID en determinados casos:

* Cuando redireccionas con un header("Location ....")
* Cuando lo haces por javascirpt (window.location .. etc)
* Cuando usas cabeceras HTTP tipo <meta ..... > de refresh o similar

En esos casos TU tienes que propaga el SID manualemente en esos links o URL's ...

Te recomendaría propagar el SID en cookies por seguridad .. (no lo digo yo .. lo dice y recomienda también PHP.net)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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:20.