Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2008, 05:32
Janire
 
Fecha de Ingreso: septiembre-2007
Mensajes: 100
Antigüedad: 16 años, 7 meses
Puntos: 0
Necesito ayuda

Hola a todos!!
De antemano, daros las gracias a todos por ayudarnos a gente como yo qe no tiene mucha idea.
Tengo un problema con un código. Estoy haciendo una web en varios idiomas (alemán, inglés, francés y español) y además necesito que cuando el usuario elija un idioma la próxima vez que acceda a la página le salga el idioma que eligió anteriormente. Buscando por aquí y por la web encontre un código que me funciona porque me cambia el idioma pero me da este error:
Warning: Cannot modify header information - headers already sent by (output started at C:\Janire\index.php:7) in C:\Janire\index.php on line 20
Además, creo que no me crea la cookie que debería guardar el idioma elegido para las posteriores visitas del usuario.

El código es el siguiente:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Idiomas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<?
// Definimos el idioma por defecto, en este caso será es (español)
$idiomaActual = 'espanol';
// Si se ha seleccionado un idioma se guarda una cookie con el idioma
if(isset($_GET['idioma'])) {
setcookie ("idioma", $_GET['idioma']);
$idiomaActual = $_GET['idioma'];
}
elseif(isset($_COOKIE['idioma'])) {
// Miramos que exista el archivo del idioma
if(file_exists($_COOKIE['idioma'].".php")) {
$idiomaActual = $_COOKIE['idioma'];
}
}
// Incluimos el archivo del idioma seleccionado o el archivo por defecto si no se seleccionó idioma o si no se encuentra el archivo
include $idiomaActual.".php";
?>

<body>
<?=$txt_cambiarIdioma?>
<select onchange="document.location = '<?=$_SERVER['PHP_SELF']?>?idioma=' + this.value">
<option> <?=$txt_idiomas?> </option>
<option value="aleman"> <?=$txt_aleman?> </option>
<option value="espanol"> <?=$txt_espanol?> </option>
<option value="frances"> <?=$txt_frances?> </option>
<option value="ingles"> <?=$txt_ingles?> </option>
</select>
</body>
</html>
La línea en la que me da el error es en la que creo la cookie.

Muchas gracias por vuestra ayuda.
Un saludo, Janire.