martiallover
Messages postés6Date d'inscriptionmercredi 6 août 2008StatutMembreDernière intervention20 août 2009
-
10 août 2009 à 23:33
redka99
Messages postés2Date d'inscriptionvendredi 21 novembre 2008StatutMembreDernière intervention11 novembre 2009
-
11 nov. 2009 à 18:20
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:xampphtdocssitemlchoix.htm:4) in C:xampphtdocssitemldecide-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>
<?php echo TXT_ACCUEIL_INDEX; ?>
Meteo du jour : <?php echo TXT_METEO; ?>
Conseil du jour : <?php echo TXT_CONSEIL_INDEX; ?>
</html>
2-ma page choix.htm
langue francaise,
----
langue anglaie
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);
martiallover
Messages postés6Date d'inscriptionmercredi 6 août 2008StatutMembreDernière intervention20 août 2009 12 août 2009 à 00:34
j ai jeté un coup d oeil sur le lien ( merci )
et puis modifier la sortie de tel sorte le setcookie part avant n importes
quel affichage de cette manière désormais
le message message d erreur est disparu mais je n arrive toujours pas
a faire le switch entre les deux langues car ca reste toujours bloqué sur le francais.
voilà mon script après modification .
1-page index
<?php
$html="<html>" ;
include("decide-lang.php");
include("choix.php");
$html.=TXT_ACCUEIL_INDEX."
";
$html.="Meteo du jour :".TXT_METEO."
</html>";
echo $html;
?>
2-ma page choix.php
<?php
$html.='langue francaise,
----
langue anglaie
';
?>
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);
?>
enfin les deux fichier fr-lang.php en-lang.php
<?php
define('TXT_ACCUEIL_INDEX', 'Bienvenue sur PHP Dèbutant' );
define('TXT_METEO', 'Il fait un soleil radieux !');
define('TXT_CONSEIL_INDEX', 'Faites du PHP !');
?>
<?php
define("TXT_ACCUEIL_INDEX", "Welcome on PHP Dèbutant !");
define("TXT_METEO", "The sun is shining !");
define("TXT_CONSEIL_INDEX", "Lets do some PHP !");
?>
martiallover
Messages postés6Date d'inscriptionmercredi 6 août 2008StatutMembreDernière intervention20 août 2009 13 août 2009 à 00:30
salut voilà j ai rectifié mon script
tout d abord la partie du $-GET[] qui manqué
et puis une faute en declarant ma variable lang
maintenat mon petit script marche mais je n arrive toujours pas
à memoriser la langue dans ma cookie
} 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 ((isset($_GET['lang'])) && ($_GET['lang']=='fr')) { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
include('fr-lang.php');
} elseif ((isset($_GET['lang'])) && ($_GET['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;