Foros del Web » Programando para Internet » PHP »

Problemas con Variables y Sesiones: Pagina en 2 idiomas

Estas en el tema de Problemas con Variables y Sesiones: Pagina en 2 idiomas en el foro de PHP en Foros del Web. Gracias por entrar a leer este post. PROYECTO: Elaborar página con 2 idiomas (ing/esp) PROBLEMA: Mi duda es el paso de variables entre páginas y ...
  #1 (permalink)  
Antiguo 27/02/2008, 10:12
 
Fecha de Ingreso: agosto-2007
Mensajes: 21
Antigüedad: 16 años, 7 meses
Puntos: 0
Problemas con Variables y Sesiones: Pagina en 2 idiomas

Gracias por entrar a leer este post.

PROYECTO: Elaborar página con 2 idiomas (ing/esp)

PROBLEMA: Mi duda es el paso de variables entre páginas y el uso de sesiones.

SOLUCION ACTUAL: Actualmente se que puedo llevarme el valor del idioma entre páginas pero creo que no es lo mejor, lo mejor sería setearla en una sesión para poder luego invocarla en cualquier momento.

PROBLEMA ESPECIFICO:

Tengo este código al inicio de mi página principal, funciona muy bien, aun que no entiendo mucho el tema de las sesiones, en ASP recuerdo poner un archivo GLOBAL.ASA y ahi iniciaba sesión y tambien inicializaba variables globales.

El código que coloco a continuación funciona correctamente, pero al cambiar el valor del idioma y regresar a mi página de inicio vuelve a tomar el valor. Pero acá no sé como hacerlo (En PHP) Alguien me puede dar una mano con el uso de este tipo de variables, por favor. Estoy seguro que es un detalle pequeño que por mi inexperiencia no estoy tomando en cuenta.


CODIGO PAGINA INICIAL

Código PHP:
<?php
session_start
();
    if (!isset(
$_SESSION['idioma'])) 
        { 
$_SESSION['idioma']=1;}
        
    if (
$_SESSION['idioma']==1)
        { require_once(
'idioma_es.php'); }
    else  
        {require_once(
'idioma_en.php'); }
?>
CODIGO PARA CAMBIO DE IDIOMA
Lo que hago únicamente es cambiar la variable de session por el valor 2 (GET), pero cuando vuelve al INDEX nuevamente toma el valor 1 y todo lo tiré por la borda..jeje


Código PHP:
<?php
    
/*CAMBIAR IDIOMA*/
    
$_SESSION['idioma']= $_GET["idioma"];
    
/*REDIRECCIONAR A LA PÁGINA DONDE ESTABA */
    
header ("Location:/saam/index.php");
?>

MI PASADO: ASP

Anteriormente (hace 4 años9 yo programaba con ASP, ahoa que retomo un poco la programación me fije en PHP por er gratis y además muy potente (por lo que he leido) además del bajo costo de los hostings en linux.

Esto con ASP yo lo podría una variable e inicializarla con Ej: Idioma=1 (1=español), y cuando el usuario quisiera cambiar de idioma solo tendría que poner (idioma=2) y listo la variable idioma tendría el valor 2 y por lo tanto al mostrar una página siempre preguntaría por esta variable y listo.


Slds
  #2 (permalink)  
Antiguo 27/02/2008, 10:26
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Problemas con Variables y Sesiones: Pagina en 2 idiomas

Holas, meminho

No estoy segura si será eso, pero a vista rápida, veo que no pusiste el session_start() en el segundo script, donde cambias el idioma: según lo que entiendo, si no pones eso al inicio del script, no puedes acceder a las variables de sesión... intenta eso y nos cuentas.

Suerte! :)
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 27/02/2008, 14:52
 
Fecha de Ingreso: agosto-2007
Mensajes: 21
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problemas con Variables y Sesiones: Pagina en 2 idiomas

Estas diciendo que en todas las páginas debo de iniciar session_onstar ? que yo sepa esa función solo se usa una vez en el home page de un site, ¿no es asi o me equivoco?

¿¿ Existe otra forma de hacer sin variables de session?? Como puedo inicializar una variable de session ??
  #4 (permalink)  
Antiguo 27/02/2008, 14:58
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Problemas con Variables y Sesiones: Pagina en 2 idiomas

A ver, por partes.

Cuando quieres que una página php sea segura, esto es, usar sesiones de usuario, debes incluir en el inicio de todas las páginas a proteger la función session_start() . Y debe ser al inicio, no después de un comentario ni de un salto de línea: estrictamente al inicio del script. Y sí, tienes que poner la función en toooodas esas páginas, no sólo en la de inicio. Imagina que ella es un intérprete del idioma francés y que tú tienes en tu scriipt un texto que viene en francés: si ella no está, ¿cómo podrá tu script entender el contenido de ese texto en francés?
No creo que sea muy exigente copiar esa línea en todas las páginas que quieras que sean parte de la sesión ^^U.

Para inicializar una variable de sesión lo puedes hacer tanto cuando creas la sesión como mientras se encuentra activa. Inicializar la variable es realmente darle un valor inicial.

Ahora, si quieres otra forma de solucionar esto sin usar las variables que te otorga la sesión php, puedes pasar el parámetro de página a página a través del URL y la recoges con $_GET, pero en ese sentido el que se te haya ocurrido guardarla en $_SESSION es más limpio y seguro, pues si la persona llegara a borrar del url el valor de "idioma" elegido, volvería al por defecto que tú hayas creado.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #5 (permalink)  
Antiguo 27/02/2008, 15:30
 
Fecha de Ingreso: agosto-2007
Mensajes: 21
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Problemas con Variables y Sesiones: Pagina en 2 idiomas

Estimada Quinqui: Antes que nada gracias por responder, eres la única valiente.

Efectivamente , funcionó tal y como lo comentas, puse el session_onstart(); al inicio de mi página de cambio de idioma y funcionó muy bien...por ahora jeje.

No es ninguna exigencia poner una linea de php al inicio de cada una de las páginas si me va ayudar tanto. Lo que pasa es que no conozco mucho de PHP, apenas comienzo en esto. Simplemente si me va ayudar y listo lo pongo.
  #6 (permalink)  
Antiguo 27/02/2008, 15:40
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Re: Problemas con Variables y Sesiones: Pagina en 2 idiomas

Qué bueno que te resultó ^_^
Pues cuando estás aprendiendo un lenguaje nuevo y más encima vienes con la lógica de otro, se hace un poco confuso al principio, pero es cosa de paciencia y ganas no más ^__^
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 01:43.