Bonjour tout le monde
je vous poste mon problème
je suis entrain de chercher quelle sont les voie plus pratique pour un site multilingue
je teste des script en local et ca marche sans prob vue la non complexité du script et sa varieté sur le web mais une fois que j introduit les cookies j ai ce type de prob
d après mes recherches je sait que certainement c est à cause d un echo qui ne doit pas être la
mais la je ne sait pas ou je doit modifier le script
voilà le message d erreur
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\siteml\choix.htm:4) in C:\xampp\htdocs\siteml\decide-lang.php on line 22
voiilà mon script tout simplement il se deroule de cette facon
une page index qui afffiche le contenu
puis un requiers choix.htm qui contient qui donnent la possibilités de choisir la langue
puis une autre requiers decide-lang.php qui agit selon ces étapes
1-assigner une langue si elle existe dans une cookie
2-si elle n est pas existante prendre la langue par defaut du navigateur
3-si non choisir une langue soit francais ou anglaise
fixer la cookies à un ans
voilà ma page index.php
1-// ma page index
<?php require("choix.htm");?>
<?php require("decide-lang.php");?>
<html>
<body>
<?php echo TXT_ACCUEIL_INDEX; ?>
<br>
Meteo du jour : <?php echo TXT_METEO; ?>
<br>
Conseil du jour : <?php echo TXT_CONSEIL_INDEX; ?>
</body>
</html>
2-ma page choix.htm
<table>
<tr><td valign="top" colspan="3" height="71px"> <a href="index.php?lang=fr" title="langue francaise">langue francaise</a></td></tr>
<tr><td valign="top" colspan="3" height="71px"> <a href="index.php?lang=en" title="langugue anglaise">langue anglaie </a></td></tr>
</table>
3-ma page decide-lang.php
<?php
if(isset($HTTP_COOKIE_VARS['lang'])) {
$lang = $HTTP_COOKIE_VARS['lang'];
} else {
// si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
$lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2);
}
//script d'origine
if ($lang=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
include('fr-lang.php');
} elseif ($lang=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
include('en-lang.php');
}
//fin du script d'origine
//définition de la durée du cookie (1 an)
$expire = 365*24*3600;
//enregistrement du cookie au nom de lang
setcookie("lang", $lang, time() + $expire);
?>
je compte sur vous .
