Version complète: sur le forum Webmaster Hub : Besoin d'aide pour session ou cookies -Merci beaucoup findel
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
mr.zuppardo
Salut à tous je debut en php et j'ai créé hier grace à de l'aide trouvé sur un site, un script de langage pour un de mes sites.

Le script contien un fichier par langue ou ce trouve le langage et un script qui reconnait les fichier ainsi que le langage du navigateur, mais voila j'ai un probleme, quand on change de page, le site ce remet dans la langue du n'avigateur, j'ai donc fait plusieurs test avec des cookies et session mais impossible d'arriver à mes fin.

Voici a quoi ressemble mon code

CODE
<?php

  
        if ($_GET['lang']=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php  
   include('language/language-fr.php');  
   }  
    
   else if ($_GET['lang']=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php  
   include('language/language-en.php');  
   }  
    
   else if ($_GET['lang']=='it') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php  
   include('language/language-it.php');  
      


?>


Vous pensez avoir une solution?

Merci
Findel
CODE
<?php
session_start();

$lg = 'fr'; // valeur par défaut

if (isset($_GET['lang'])) {
   // langue passée dans l'url
   $lg = $_GET['lang'];
   $_SESSION['lang'] = $lg;

} else {
   if (isset($_SESSION['lang'])) {
      // langue mémorisée en session
      $lg = $_SESSION['lang'];
   }
}

if ($lg=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
include('language/language-fr.php');
}

else if ($lg=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
include('language/language-en.php');
}

else if ($lg=='it') { // si la langue est 'it' (italien) on inclut le fichier it-lang.php
include('language/language-it.php');

?>
titouille
z'avez fumé quoi pour pas optimiser ça ?? biggrin.gif biggrin.gif


en reprenant le code de findel, la série de if à la fin tu peux la virer et faire simplement

CODE
$a = array( 'fr', 'en', 'it' );

if( in_array( $lg, $a ) )
include( "language/language-$lg.php" );


En gros, un tableau avec les langues disponibles, si la valeur $lg correspond à une des langues, alors on inclut le fichier correspondant en lui passant dynamiquement la valeur de langage.

A++
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.