par
martial zero » 13 août 2009, 00:46
je vous explique tout simplement mon prob je redige un scirpt
qui me donne la possibilite à travers une cookie de suavgarder la valeur d une langue choisi dans un site supposer un site multi langue
le passage entre les langue se fait de facon parfaite reste le fait que je n arrive pas à sauvgarder la langue lorsque je redemarre la page
pour exlique un peux j ai une
page index
qui te donner la possibilité de choisir la langue
un fichier decide-langue.php qui teste la valeur passer
un fichier choix.php qui donne la possibilité de choisir la langue
2 fichier en-lang.php et fr-lang.php ou je sauvgarde des constante en fonction de la langue choisi
1-ma page index.php
<?php
$html="<html><body>" ;
include("decide-lang.php");
include("choix.php");
$html.=TXT_ACCUEIL_INDEX."<br>";
$html.="Meteo du jour :".TXT_METEO."<br";
$html.="conseil du jour :".TXT_CONSEIL_INDEX;
$html.="</body></html>";
echo $html;
?>
2-ma page choix.php
<?php
$html.='<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>';
?>
3ma 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 ((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;
//enregistrement du cookie au nom de lang
setcookie("lang", $_GET['lang'], time() + $expire);
?>
et les deux page en-lang.php et fr-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 !");
?>
je vous explique tout simplement mon prob je redige un scirpt
qui me donne la possibilite à travers une cookie de suavgarder la valeur d une langue choisi dans un site supposer un site multi langue
le passage entre les langue se fait de facon parfaite reste le fait que je n arrive pas à sauvgarder la langue lorsque je redemarre la page
pour exlique un peux j ai une
page index
qui te donner la possibilité de choisir la langue
un fichier decide-langue.php qui teste la valeur passer
un fichier choix.php qui donne la possibilité de choisir la langue
2 fichier en-lang.php et fr-lang.php ou je sauvgarde des constante en fonction de la langue choisi
1-ma page index.php
<?php
$html="<html><body>" ;
include("decide-lang.php");
include("choix.php");
$html.=TXT_ACCUEIL_INDEX."<br>";
$html.="Meteo du jour :".TXT_METEO."<br";
$html.="conseil du jour :".TXT_CONSEIL_INDEX;
$html.="</body></html>";
echo $html;
?>
2-ma page choix.php
<?php
$html.='<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>';
?>
3ma 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 ((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;
//enregistrement du cookie au nom de lang
setcookie("lang", $_GET['lang'], time() + $expire);
?>
et les deux page en-lang.php et fr-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 !");
?>