Site 2 langues (cookies

kiboumz Messages postés 120 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 18 mai 2007 - 5 nov. 2005 à 01:32
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 - 5 nov. 2005 à 11:53
Bonjour, j'essaie de réaliser un script pour rendre mon site dynamique au point de vue de la langue (français et anglais).



Cependant, ça m'indique cette erreur à la ligne 53 (setcookie('lang', $lang, time() + $expire);) :



Warning: Cannot modify header information - headers already sent
by (output started at c:\documents and settings\patrice\mes
documents\testsphp\kataclyst\formulaire.php:6) in c:\documents and settings\patrice\mes documents\testsphp\kataclyst\formulaire.php on line 53



et je ne comprend pas pourquoi

Ce que je fais c'est que 1erement je regarde si le cookie contient une
langue, ensuite je regarde la page, si par exemple l'usager change de
langue et j'essaie de l'inscrire dans le cookie.



merci

a+

<?php



if(isset($_COOKIE['lang'])) {

$lang = $_COOKIE['lang'];

} else {

$lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2);

}



if (isset($_GET['lang']))

{

switch($_GET['lang'])

{

case 'fr' : $lang = 'fr'; include('Formulaire_fr.php'); break;

case 'eng' :
$lang = 'eng'; include('Formulaire_eng.php'); break;


}



if ($lang=='fr') {

include('Formulaire_fr.php');

} elseif ($lang=='en') {

include('Formulaire_eng.php');

}



$expire = 365*24*3600;

setcookie('lang', $lang, time() + $expire);

}

?>

3 réponses

cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
5 nov. 2005 à 11:30
Sael og blesud



Regardez du côté de ob_start() ce problème est très ( trop ) fréquent ... Par ailleurs un tuto existe ici même ...

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón
0
monoceros01 Messages postés 420 Date d'inscription vendredi 28 novembre 2003 Statut Membre Dernière intervention 20 mars 2006
5 nov. 2005 à 11:44
A ta place je laisserai tout de même une langue par défaut non?



Genre :

if($lang == 'fr')

{

include('Formulaire_fr.php');

]

else

{

include('Formulaire_en.php');

}



Puis fait gaffe, des fois tu met 'eng' et d'autres 'en' pour $lang.



Pour le setcookie() qui renvoie une erreur, fait gaffe de ne pas ne
rien afficher avant cette ligne. Que ça soit un echo() ou même un saut
de ligne avant ton <?php

(C'est très vicieux ces choses là)
0
cs_sjon Messages postés 861 Date d'inscription mardi 26 mars 2002 Statut Membre Dernière intervention 29 novembre 2006 1
5 nov. 2005 à 11:53
Sael og blesud



Le plus commun à ce niveau c'est de mettre la langue du navigateur par default ... ;-)

Bon courage ...

NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...

Sigurjón Bírgir Sigurðssón aka Sjón
0
Rejoignez-nous