pues ya hiciste el 90% del trabajo, ahora te resta ubicar a setcookie en tu cabezera. yo resolvi el mismo problema asi:
Código:
define( 'ENGLISH', 0 );
define( 'SPANISH', 1 );
$lang = SPANISH;
header( 'P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"' );//importante, de otra forma no funciona en IE 6
if ( isset( $_GET['lang'] ) )
{
setcookie( 'lang', $_GET['lang'], time() + 432000 );
include( 'languages/lang_' . $_GET['lang'] . '.php' );
$lang = $_GET['lang'];
}
elseif ( is_null( $_COOKIE['lang'] ) )
{
setcookie( 'lang', SPANISH, time() + 432000 );
include( 'languages/lang_' . SPANISH . '.php' );
}
else
{
setcookie( 'lang', $_COOKIE['lang'], time() + 432000 );
include( 'languages/lang_' . $_COOKIE['lang'] . ".php" );
$lang = $_COOKIE['lang'];
}
lo que se hace aqui es ver si $lang esta siendo enviado por GET. si no, entonces veo si esta definida la cookie, de otra manera la defino y guardo el resultado en $lang. recuerda siempre ubicar a setcookie antes de mandar código html.