Page 1 sur 2

comment passez ma variable a une autre page?

Posté : 13 mai 2009, 19:22
par webgalerien
bonjour a tous et toutes,

ma question est dans le titre.

je me suis décidé a faire un petit site en 2 langues FR et EN

j arrive a changer le texte de ma page en fonction du clic sur un lien


Code : Tout sélectionner

<?php require("decide-lang.php"); include ("lien.inc.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>mapageamoi</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <link href="css/styles.css" rel="stylesheet" type="text/css" media="screen" /> </head> <body> <a href="acceuil.php?lang=fr"> Francais </a> <br /> <a href="acceuil.php?lang=en"> Anglais </a> <div id="menu"> <ul> <li><?php echo "<a href=".$url01." title=".$titre01.">".URL_MENU_1."</a>"; ?></li> <li><?php echo "<a href=".$url02." title=".$titre02.">".URL_MENU_2."</a>"; ?></li> <li><?php echo "<a href=".$url03." title=".$titre03.">".URL_MENU_3."</a>"; ?></li> <li><?php echo "<a href=".$url04." title=".$titre04.">".URL_MENU_4."</a>"; ?></li> </ul> </div>
le fichier lien.inc.php

Code : Tout sélectionner

<?php // rappel des caracteres accentues (sans accent lol) //<!--&nbsp;-espace--> //<!--&rsquo;-apostrope FR--> //<!--&eacute;-é accent aigu FR--> //<!--&egrave;-è accent grave FR--> //<!--&acirc;-â accent circonflexe FR--> // lien et titre menu horizontal haut de page $url01 = "acceuil.php"; $titre01 = "page&nbsp;d&rsquo;acceuil\n"; $url02 = "blabla2.php"; $titre02 = "blabla2\n"; $url03 = "blabla3.php"; $titre03 = "blabla3\n"; $url04 = "blabla4.php"; $titre04 = "blabla4\n"; ?>
le fichier decide-lang.php

Code : Tout sélectionner

<?php if ($_GET['lang']=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php include('lang/fr-lang.php'); } else if ($_GET['lang']=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php include('lang/en-lang.php'); } else { // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut include('lang/fr-lang.php'); } ?>
et la traduction en fr et anglais dans 2 fichiers (fr-lang.php et en-lang.php) avec les bonnes constantes.

au page par page cela marche sans trop de probleme

en local avec easyphp et sur mon hebergement chez OVH...mais

ce que je cherche a faire et , que lors du clic sur le lien blabla2 qui appel la page blabla2.php,

la valeur de lang reste celle choisi sur la page precedente.

je pense avoir compris que ma valeur ne passais pas dans l autre page.

j ai pas mal cherché, et il me semble que cela a un rapport avec la session .... mais je sais pas comment faire

HELP !!!!!

d avance merci

Posté : 13 mai 2009, 19:27
par orgerix
Dans ce cas, il vaut mieux travailler avec les sessions.

En gros, si ta variable $_GET['lang'] existe, tu inclue le fichier langue correspondant et tu la stocke dans une variable de session.

Si elle n'existe pas, tu regarde si la variable de session a été définie et dans ce cas tu l'utilise. Sinon, tu utilise une langue par défaut.

Posté : 13 mai 2009, 19:30
par dunbar
Dans ton cas je pense que ceci fera l'affaire
echo '<a href="blabla2.php?lang='.$_GET['lang'].'">blabla2</a>';

Posté : 14 mai 2009, 03:14
par webgalerien
parfait cela fonctionne
merci pour cette reponse rapide...

j ai 2 autres question , la 1er est es ce que ma syntaxe est bonne
<?php echo "<a href=".$url01.'?lang='.$_GET['lang']." title=".$titre01.">".URL_MENU_1."</a>"; ?>
et la 2eme c que sur la premiere page la valeur 'lang' n est pas declare donc j ai un message d erreur ????

j ai tenter

sa
<?php
require("decide-lang.php");
include ("lien.inc.php");
$_GET['lang']=='fr';
?>
mais pareil
parcontre des que je clique sur mon lien de selection de langue , la plus de probleme

comment je peux renseigner cette valeur ?

j ai tenter aussi de mettre cela

<?php
   if ($_GET['lang']=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
   include('lang/fr-lang.php');
   }
    else if ($_GET['lang']=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
    include('lang/en-lang.php');
   }
    else {($_GET['lang']=='fr') {        // si aucune langue n'est déclarée on  choisi FR et on inclut le fichier fr-lang.php par défaut
    include('lang/fr-lang.php');
   }
?>
et forcement cela marche pas non plus
j ai
Parse error: parse error in m:\easyphp1-8\www\decide-lang.php on line 8

qu'est ce que je peux tenter ?

j 'ai pense que si ja vais une page d acceuil avant et que je passe la valeur par le lien cela reglerai le probleme (je v tester demain) mais il y t il une solution pour que la page declare cette valeur lors de son 1er chargement ?

d avance merci si quelqu un peux eclairer ma lanterne.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Posté : 14 mai 2009, 08:20
par thehawk
    else {($_GET['lang']=='fr') {        // si aucune langue n'est déclarée on  choisi FR et on inclut le fichier fr-lang.php par défaut
    include('lang/fr-lang.php');
   }
Ton souci viens de : {($_GET['lang']=='fr') {

dans le else tu n'a besoin que des {}

je m'explique
if (...) {

}
elseif () {


}
else {


}
Bye Hawk

Posté : 14 mai 2009, 09:24
par Sodams
Commence par vérifier que la variable langue existe, si oui, alors tu peux ajouter le fichier de la langue.
if(isset($_GET["lang"]))
{
    // Si la variable $_GET["lang"] existe
    include('lang/'.$_GET["lang"].'-lang.php');
}
else
{
    // Si la variable $_GET["lang"] n'existe pas
    // Alors j'inclus la langue par défaut (ou je redirige vers la page choix de la langue)
    include('lang/fr-lang.php');
}
Attention : Je ne fais pas de vérification sur le contenu de la variable $_GET["lang"], si l'utilisera change l'adresse et ajoute lang=another_language,
include('lang/'.$_GET["lang"].'-lang.php')
va te retourner une erreur.

Posté : 14 mai 2009, 14:53
par webgalerien
ok j ai apris plein de truc la , et j ai deja une meileure lecture de ce qui se passe ...
mais (et oui toujours un mais avec moi...lol)

si ma variable lang n'est pas defini comment puis je dire qu elle soit par defaut sur la 1er page avec la valeur fr ?

voila ce que j ai retaper cela marche seulement une fois que jai declare "lang"

sauf que au 1er chargement j 'ai ,forcement une erreur.

j ai tente de rajouter cela mais sans succes...
<?php
if (isset($_GET["lang"])) {
    // Si la variable $_GET["lang"] existe
    // On recupre la variable pour l'ajouter au choix de fichier
    // Attention la variable doit avoir la meme appelation que le debut du nom du fichier
   // pour que le choix se fasse
    // "fr" => fr-lang.php et "en" => en-lang.php
    include('lang/'.$_GET["lang"].'-lang.php');
}
else {
    // Si la variable $_GET["lang"] n'existe pas
    // Alors j'inclus la langue par défaut (ou je redirige vers la page choix de la langue)
    include('lang/fr-lang.php');
    ($_GET['lang']=='fr');   //ce que jai tente de rajouter mais ...
}
?>
merci de vos reponses....

Posté : 14 mai 2009, 20:35
par Sodams
Pourquoi veux-tu rajouter celà?
($_GET['lang']=='fr');
Si tu veux que ta variable porte sur toutes les pages, utilises alors les $_SESSION

Posté : 18 mai 2009, 13:44
par webgalerien
  • salut ,

    donc sur ton conseil

    j ai teste avec les sessions, ne connaissant pas leurs utillisation
    (je debute, est t il utile de le preciser ;-) )

    j ai pas mal chercher
    et j ai trouver un cours assez clair pour moi

    voila ce que j ai fais:
<?php
//je demarre une session
session_start();
$lang ='fr';//je defini la langue fr pour francais et en pour anglais

$_SESSION['choixlang'] = $lang ;//j ouvre une session "choixlang"

if(isset($_SESSION['choixlang']))
{
    // Si la session ["choixlang"] existe
    // On recupere la variable pour l'ajouter au choix de fichier
    // Attention la variable doit avoir la meme appelation que le debut du nom du fichier
    // "fr" => fr_lang.php et "en" => en_lang.php
      include('lang/'.$_SESSION['choixlang'].'-lang.php');
    //la je teste si c ok par un echo
      echo 'La variable "choixlang" existe et le fichier langue est :' . $_SESSION['choixlang'];
      echo '<br>';
}
else //sinon
{
    // Si la session $_SESSION["choixlang"] n'est pas renseignée
    // Alors j'inclus la langue par défaut
    include('lang/fr-lang.php');
}
include ("lien.inc.php"); // mon fichier de lien pour le report sur plusieurs pages
?>
  • avec ce code sur la 1er page j ai le texte en francais
    je reporte le code sur les autres pages en supprimant
$lang ='fr';//je defini la langue fr pour francais et en pour anglais
  • ensuite dans la 1er page si je change la valeur de "$lang" pour "en"
$lang ='en';//je defini la langue fr pour francais et en pour anglais
  • j ai bien toute mes pages en anglais
    donc tout va bien MAIS....

    comment dois je modifier mes liens de selection de langue sur chaque page pour permettre
    a l utilisateur de changer a sa guise la langue????

    avant j avais c 'est 2 liens qui changer la valeur pour chaque page mais qui ne transmettais pas
    a la page suivante

Code : Tout sélectionner

<a href="acceuil.php?lang=fr"> Francais </a> <br /> <a href="acceuil.php?lang=en"> Anglais </a>
j ai testé ceci
<?php
echo "<a href=".$url01.'?lang=fr title='.$titre01.">texte en fran&ccedil;ais</a>";
echo "<br />";
echo "<a href=".$url01.'?lang=en title='.$titre01.">texte en anglais</a>";
?>
  • mais cela ne marche pas
    j ai besoin d une explication sur la methode pour faire changer
    la valeur de $lang dans ma session par un lien.

    en resumé :
    je veux que sur la 1er page la langue par defaut soit le francais
    que le visiteur puisse changer pour anglais
    mais que si sur une seconde page il souhaite revenir en francais
    il change cela par un lien.

    j'espere que je suis clair parce que je me perd un peu dans le php la.
d avance merci de vos reponses.

Posté : 18 mai 2009, 14:12
par dunbar
Salut,
Comme ceci peut-être
<?php
$fr = "<a href=".$url01.'?lang=fr title='.$titre01.">texte en fran&ccedil;ais</a>";
$en = "<a href=".$url01.'?lang=en title='.$titre01.">texte en anglais</a>";
 
$lien_langue = ($_SESSION['choixlang'] == 'fr') ? $en : $fr ;

echo  $lien_langue ;
?>

Si la langue de session est fr c'est le lien en qui s'afiche et inversement.

Posté : 18 mai 2009, 17:13
par webgalerien
Merci Dunbar mais, même si j ai noté ce code qui me sera utile , cela n ai pas vraiment ce que je cherche a faire.
  • bon alors la j y comprend vraiment rien du tout......ouin!!!!

    je voudrai que sur la même page, lors du clic sur un lien,

    la valeur de "$lang" de la session "choixlang" change et donc qu'elle puisse ensuite être transmise dans la session.

    pour le moment je n ai compris que le principe de la session

    mais seulement en déclarant la valeur de "$lang" au début du script.

    comment faire pour que mon lien change cette valeur.

    avec ce code j ai bien le lien qui change dans le navigateur mais pas la valeur "$lang" de la session
    $fr = "<a href=".$urltest.'?lang='.$_SESSION['choixlang'] = 'fr'.' title='.$titretest.">texte en fran&ccedil;ais</a>";
    $en = "<a href=".$urltest.'?lang='.$_SESSION['choixlang'] = 'en'.' title='.$titretest.">texte en anglais</a>";
    
    
    $lien_langue = ($_SESSION['choixlang'] = 'fr') ? $en : $fr ;
    
    echo  $lien_langue ;
    
    et si je ne la renseigne pas
    cela mais forcement une erreur ,

    qui peux m expliquer ou est mon erreur ?
    si je remplace $lang='fr" par $lang ='en'
    le reste des pages change bien de langue

    donc ma session reçoit bien la valeur $lang

    mais comment écrire un lien qui va changer cette valeur ?
    dans la même page
<?php
//demarrer une session
session_start();
$lang ='fr';
//$lang ='en';
$_SESSION['choixlang'] = $lang ;

if(isset($_SESSION['choixlang']))
{
    // Si la session ["choixlang"] existe
    // On recupre la variable pour l'ajouter au choix de fichier
    // Attention la variable doit avoir la meme appelation que le debut du nom du fichier
    // "fr" => fr_lang.php et "en" => en_lang.php
      include('lang/'.$_SESSION['choixlang'].'-lang.php');
      echo 'La variable "choixlang" existe et le fichier langue est :' . $_SESSION['choixlang'];
      echo '<br>';
}
else
{
    // Si la session $_SESSION["choixlang"] n'est pas renseignée
    // Alors j'inclus la langue par défaut
    include('lang/fr-lang.php');
}
include ("lien.inc.php");
?>

Help please!!!!!!!!

Posté : 18 mai 2009, 18:01
par mbernard
Hello,

En début de fichier tu vérifie si la langue est passée par l'URL (si oui, c'est que l'utilisateur a cliqué sur un lien pour changer de langue) :

Code : Tout sélectionner

$languages = array( 'FR' => 'Français', 'EN' => 'English' ); if (isset($_GET['lang']) && array_key_exists($_GET['lang'], $languages)) { $_SESSION['lang'] = $_GET['lang']; } if (!isset($_SESSION['lang'])) { $_SESSION['lang'] = 'fr'; }
En passant, on stocke les langues autorisées dans un array, ce qui permet d'y stocker les label, et d'éviter les failles de sécurité en filtrant les langues passées par l'URL.
La 2ème partie permet d'initialiser la langue par défaut à 'Français'.


Ensuite, tu inclues ton fichier comme ca :

Code : Tout sélectionner

include('lang/'.$_SESSION['lang'].'.php');

En enfin dans ton fichier HTML tu ajoutes les liens suivants pour que les utilisateurs puissent changer de langue :

Code : Tout sélectionner

<a href="acceuil.php?lang=fr"> <?php echo $languages['FR']; ?> </a> <a href="acceuil.php?lang=en"> <?php echo $languages['EN']; ?> </a>

Posté : 18 mai 2009, 18:59
par dunbar
Ou une autre possibilité :idea:
<?php
session_start();
//$url01 = '';
//$titre01 = '';
//Initialisation de la variable $_GET['lang'].//
if (isset($_GET['lang'])) {
    $lang = htmlspecialchars($_GET['lang']);
} else {
    $lang = '';
}

//switch qui sert à placer la langue en session, suivant le lien qui a été cliquez//
switch ($lang) {
    case "FR":
        $_SESSION['choixlang'] = 'fr';

        break;
    case "EN":
        $_SESSION['choixlang'] = 'en';
        break;
}

//Menu par defaut tant que la variable $_SESSION['choixlang'] est vide.//
$choixlangue = '<a href="testphpfrance.php?lang=FR">Le site fr</a><br>';
$choixlangue .= '<a href="testphpfrance.php?lang=EN">Le site en</a><br>';

//Lien des deux langues.//

$fr = "<a href=" . $url01 . '?lang=fr title=' . $titre01 .
    ">texte en fran&ccedil;ais</a>";
$en = "<a href=" . $url01 . '?lang=en title=' . $titre01 .
    ">texte en anglais</a>";

//Suivant la valeur en session est vide on affiche soit le menu par defaut sinon le lien contraire a celui en session.//
//Donc si il clique sur en c'est le lien fr qui apparait et inversement.//
$lien_langue = ($_SESSION['choixlang'] == 'fr') ? $en : $fr;
$menu        = isset($_SESSION['choixlang']) ? $lien_langue : $choixlangue;
echo $menu;
?>
Donc par défaut il y a deux choix FR et en une fois que tu clique sur un des deux le choix se place en $_SESSION et n'apparaît plus que le lien opposer à la session donc le lien FR si en session c'est en et inversement, bon j'ai fais ça en vitesse mais ça fonctionne. :wink:

Posté : 19 mai 2009, 17:14
par webgalerien
un très grand merci a vous pour vos réponses,

j ai appliqué vos exemples et script du mieux que j ai pu mais je ne suis pas douer.

voila ce que j ai réussi a faire.

le fichier index.php avec ce code
<?php
session_start();
$url01 = 'acceuil.php';
$titre01 = 'test_vers_acceuil';
//$_SESSION['choixlang'] =;
//Initialisation de la variable $_GET['lang'].//
if (isset($_GET['lang'])) {
    $lang = htmlspecialchars($_GET['lang']);
} else {
    $lang = '';
}
//switch qui sert à placer la langue en session, suivant le lien qui a été cliquez//
switch ($lang) {
    case "FR":
        $_SESSION['choixlang'] = 'fr';

        break;
    case "EN":
        $_SESSION['choixlang'] = 'en';
        break;
}

//Menu par defaut tant que la variable $_SESSION['choixlang'] est vide.//
$choixlangue = "<a href=" . $url01 . '?lang=FR title=' .$titre01 . ">Le site FR</a><br>";
$choixlangue .= "<a href=" . $url01 . '?lang=EN title=' .$titre01 . ">Le site EN</a><br>";

//Lien des deux langues.//

$fr = "<a href=" . $url01 . '?lang=fr title=' . $titre01 .
    ">texte en fran&ccedil;ais</a>";
$en = "<a href=" . $url01 . '?lang=en title=' . $titre01 .
    ">texte en anglais</a>";

//Suivant la valeur en session est vide on affiche soit le menu par defaut sinon le lien contraire a celui en session.//
//Donc si il clique sur en c'est le lien fr qui apparait et inversement.//
$lien_langue = ($_SESSION['choixlang'] == 'fr') ? $en : $fr;
$menu        = isset($_SESSION['choixlang']) ? $lien_langue : $choixlangue;
echo $menu;
?>
qui appel le fichier acceuil.php

<?php
include ("choix_lang.inc.php"); //SESSION pour le choix de la langue
include ("lien.inc.php"); //fichier de lien pour le report sur plusieurs pages
include  ("include.inc.php"); //fichier include avec variable pour le report sur plusieurs pages
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>mon site en deux langues</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="css/styles.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<!--&nbsp;-->
<!-- header begins -->
<div id="header">
        <div id="logo">
                <h1><a href="#">titre de l article</a></h1>
                <h2><a href="#"></a></h2>
                <br />

        </div>
        <div id="menu">
          <?php echo $menu_h ?>
        </div>
</div>
<div id="main">
<!-- header ends -->
<!-- content begins -->
<div id="top">
        <div id="bottom">
        <div id="right">
<?php echo $change_langue ?>
                        <h3>ICI des liens a definir</h3>
<?php echo $menu_v ?>
                        <h3>Lorem ipsum dolor</h3>
                        <p>Laoreet dolore magna aliquam erat volutpat.
                        Exerci tation ullamcorper suscipit lobort ex ea commodo consequat.
                        Duis autemr in het laoreet dolore magna aliquam erat volutpat.
                        <br />
                        <br />
                        Ut wisi enim ad minim veniam, quis ullamcorper suscipit lobortis
                        nisl ut commodo consequat. Duis autemr in he
                        <a href="#">Lire la suite...</a></p>
                        <br />
                                </div>
        <div id="left">
                <h2>
<?php echo TXT_ACCUEIL_INDEX; ?>
                </h2><br />
                        <h4><a href="#">
                         <br>
                         </h2><br>
                        </a></h4><br />

                            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
                            Suspendisse potenti. Cras leo nibh, aliquet nec, interdum et,
                            consequat sed, nulla. Praesent nec quam quis augue auctor pulvinar.

        </div>

<!--content ends -->
        <div id="footer">
        </div>
<!--footer begins -->
</div>
</div>
</div>
        <!-- footer ends-->
</body>
</html>
menu_h menu_v et change_langue
sont dans le fichier include.inc.php
<?php
//menu de navigation principal horizontal haut
$menu_h = "
<ul><li>
<a href=".$url01.'?lang='.$_SESSION['choixlang']." title=".$titre01.">".URL_MENU_1."</a>
</li><li>
<a href=".$url02.'?lang='.$_SESSION['choixlang']." title=".$titre02.">".URL_MENU_2."</a>
</li><li>
<a href=".$url03.'?lang='.$_SESSION['choixlang']." title=".$titre03.">".URL_MENU_3."</a>
</li><li>
<a href=".$url04.'?lang='.$_SESSION['choixlang']." title=".$titre04.">".URL_MENU_4."</a>
</li></ul>
";

//menu de navigation principal vertical droit
$menu_v = "
<ul><li>
<a href=".$url05.'?lang='.$_SESSION['choixlang']." title=".$titre05.">".URL_MENU_5."</a>
</li><li>
<a href=".$url06.'?lang='.$_SESSION['choixlang']." title=".$titre06.">".URL_MENU_6."</a>
</li><li>
<a href=".$url07.'?lang='.$_SESSION['choixlang']." title=".$titre07.">".URL_MENU_7."</a>
</li><li>
<a href=".$url08.'?lang='.$_SESSION['choixlang']." title=".$titre08.">".URL_MENU_8."</a>
</li><li>
<a href=".$url09.'?lang='.$_SESSION['choixlang']." title=".$titre09.">".URL_MENU_9."</a>
</li></ul>
";

// liens de selection de langue sur page
$change_langue = "
<a href=\"?lang=fr\">
<img border=\"0\" src=\"design/france.jpg\" alt=\"site en francais\" width=\"20\" height=\"20\">
Francais </a>
<br />
<a href=\"?lang=en\">
<img border=\"0\" src=\"design/english.jpg\" alt=\"site in english\" width=\"20\" height=\"20\">
Anglais </a>
";
?>
et le choix de la langue dans choix_langue.inc.php
<?php
//je demarre une session
session_start();
//$lang ='en';//je defini la langue fr pour francais et en pour anglais
$_SESSION['choixlang'] = $_GET['lang'] ;//j ouvre une session "choixlang"

if(isset($_SESSION['choixlang']))
{
    // Si la session ["choixlang"] existe
    // On recupere la variable pour l'ajouter au choix de fichier
    // Attention la variable doit avoir la meme appelation que le debut du nom du fichier
    // "fr" => fr_lang.php et "en" => en_lang.php
      include('lang/'.$_SESSION['choixlang'].'-lang.php');
    //la je teste si c ok par un echo
    //echo 'La variable "choixlang" existe et le fichier langue est :' . $_SESSION['choixlang'];
    //echo '<br>';
}
else //sinon
{
    // Si la session $_SESSION["choixlang"] n'est pas renseignée
    // Alors j'inclus la langue par défaut
    include('lang/fr-lang.php');
}
?>

la seule chose que je ne comprend pas vraiment c comment je fais pour ne pas avoir ce message

sur le page index.php(lors du 1er chargement)

Code : Tout sélectionner

Notice: Undefined index: choixlang in m:\easyphp1-8\www\cbm-fruk\index.php on line 36
es ce parce que choix lang n est pas déclaré au 1er chargement

si oui, que dois je modifier, j ai tenter plusieurs trucs sans être vraiment sur du résultat

et la je bloque vraiment

d avance merci ;-)

Posté : 19 mai 2009, 17:24
par dunbar
Comme ceci je pense :
$language = isSet($_SESSION['choixlang']) ? $_SESSION['choixlang'] : '' ;
$lien_langue = ($language == 'fr') ? $en : $fr;
tu remplace la ligne 36 par ce code