PHP - Idiomas

 
Vista:

Idiomas

Publicado por pedro (6 intervenciones) el 10/11/2007 19:17:26
Hola a todos
Utilizo este programa para cambiar de idiomas

<?php session_start();
if (isset($_POST['sidioma'])) // vengo a la pagina a traves del boton cambiar idioma
{
$_SESSION['idioma'] = $_POST['sidioma']; // cambio el idioma
} else {
if (!isset($_SESSION['idioma'])) // es la primera vez que accedo a la pagina
{
$_SESSION['idioma'] = 'es'; // idioma por defecto
}
}
switch ($_SESSION['idioma']) {
case 'es':
include('lang/es.php');
break;
case 'en':
include('lang/en.php');
break;
case 'fr':
include('lang/fr.php');
break;
default :
include('lang/es.php');
break;
}
?>

y lo introduzco en las distintas páginas haciendo:
<?php include('idiomas/idiomas.php');?>
Al tener algunas paginas a distinto, nivel una es la index y otras estan en distintas carpetas, el problema son las include('lang/es.php').
He intentado usar include('$_SERVER['DOCUMENT_ROOT']/lang/es.php'), pero me da error y no caigo cual es el problema.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Idiomas

Publicado por Diego Romero (1450 intervenciones) el 10/11/2007 21:49:10
Cuando usas este path: lang/es.php ese path es relativo a la ubicación actual del script que lo usa, por ejemplo, si el script está en:

http://www.example.com/dir1/script.php

lang/es.php se traduce como:

http://www.example.com/dir1/lang/es.php

Si el script que usa es path está en

http://www.example.com/dir1/dir2/script.php

se traduce como:

http://www.example.com/dir1/dir2/lang/es.php

Pero si el path es así : /lang/es.php la primera barra hace que ese path sea relativo al home del sitio web sin importar qué ubicación tenga el script que usa ese path. Entonces creo que queda claro que en tu caso esos includes debes hacerlos relativos al home.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Idiomas

Publicado por pedro (6 intervenciones) el 11/11/2007 16:57:18
Lo he probado y en la index no funciona, en las otras si pero aparece esto:

Warning: main(/lang/fr.php) [function.main]: failed to open stream: No such file or directory in C:\Inetpub\vhosts\web.com\httpdocs\inc\config.php on line 18

Warning: main() [function.include]: Failed opening '/lang/fr.php' for inclusion (include_path='.;./includes;./pear') in C:\Inetpub\vhosts\web.com\httpdocs\inc\config.php on line 18
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

URGENTE

Publicado por pedro (6 intervenciones) el 12/11/2007 17:40:47
He hecho como me dijisteis pero no funciona , necesito solucionarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar