Resulta que tengo una barra de menu, en la que hay un desplegable que contiene 2 idiomas. Cuando comenzamos la sesión estamos por defecto en español, pero si queremos cambiar de idioma seleccionamos la segunda opción (inglés). Hasta ahí todo bien, el problema viene que cuando vamos a otra página, el idioma inglés en vez de mantenerse vuelve a español y eso no es lo que quiero.
Ahora comento como tengo todo colocado:
- En index.php tengo al comienzo este código:
<?php
session_start();
if ($_GET["lang"] == "en") $_SESSION["lang"] = "en";
else if ($_GET["lang"] == "es") $_SESSION["lang"] = "es";
else if (!isset($_SESSION["lang"])) $_SESSION["lang"] = "es";
require_once($_SESSION["lang"]."_constantes.php");
?>
- Luego en las dos barras de menu (menu.php y menuini.php) tengo este:
<?php
if ($_GET["lang"] == "en") $_SESSION["lang"] = "en";
else if ($_GET["lang"] == "es") $_SESSION["lang"] = "es";
else if (!isset($_SESSION["lang"])) $_SESSION["lang"] = "es";
require_once($_SESSION["lang"]."_constantes.php");
?>
La única diferencia es que he quitado aquí session_start();
- Luego tengo mis dos archivos php donde se engloban las constantes (en_constantes.php y es_constantes.php)
Debería de funcionar y sin embargo hace lo que he comentado, que puedo cambiar de idioma pero este no se mantiene a la hora de cambiar de página, por lo que tengo que volver a cambiarlo.
Si alguien me ayuda con este pequeño inconveniente se lo agradecería.
Un cordial saludo para todos.