[PHP] Probleme variable

Fermé
AntoineW - 5 oct. 2005 à 22:55
 AntoineW - 10 oct. 2005 à 19:31
Bonsoir,
suite du coup de main donné par un membre de ce site,
j'aimerai pouvoir ajouter une variable "lg" langue pour
un site multilangue, j'ai bien compris ce script mais pas moyen
d'ajouter une variable, pourriez vous me donner un petit coup
de main

<?Php

$page_id = $_GET['page_id'];
switch($page_id) {
case'accueil':
include("accueil.php");
break;
case'presentation':
include("pre.php");
break;
case'environs':
include("env.php");
break;
....

ou vaut il mieu que j'aie vers une autre direction pour pouvoir acomplir cela

merci d'avance

8 réponses

GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 387
6 oct. 2005 à 07:57
Tu pourais essayer ainsi :
$page_id = $_GET['page_id'];
switch($page_id) {
  case 'accueil':
    switch($_GET['lg']){
      case 'fr':
        include("accueil_fr.php");
        break;
      case 'en':
        include("accueil_en.php");
        break;
    }
    break;

Mais le probleme avec cette méthode c'est que si tu fais une modification dans le fichier accueil_fr.php tu devra la faire aussi dans le fichier accueil_en.php.

Une autre méthode serait de mettre toute les phrase te t'on site dans des fichier de configuration (des fichiers avec un tableau de variable contenant toutes phrases) et de choisir quel fichier utilisé selon la varaible $lg.
0
merci , pourrais tu me donner un exemple.
je suis débutant
merci d'avance
0
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 387
7 oct. 2005 à 15:51
Imaginons que dans ton fichier d'accueil (ex: accueil.php) tu est le code suivant :
<table>
  <tr>
    <td>
      <?php echo $lang['message_accueil'];
    </td>
  </tr>
</table>


et dans ton fichier de configuration (ex: lang_fr.php) tu est :

$lang=array();
$lang['message_accueil']='Bienvenu sur mon site';


il te resterait plus qu'a faire dans ton fichier d'index (ex:index.php) :
switch($_GET['lg']){
  case 'fr':
    require('lang_fr.php');
    break;
  case 'en':
    require('lang_en.php');
    break;
  ...
}

$page_id = $_GET['page_id'];
switch($page_id) {
  case 'accueil':
    include("accueil.php");
    break;
  case 'presentation':
    include("pre.php");
    break;
  case 'environs':
    include("env.php");
    break;
  ....
}
0
un grand merci de ton aide, je vais essaier directement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bonsoir,
Ton script va bien mais,
j'ai encore un petit problème, comment dois-je faire pour quand je change de page il retienne la langue. Que dois-je mettre a la place de fr pour que sa fonctionne.
pour mon lien 1: start.php?lg=fr&page_id=1


J'ai un menu en javascript et le noms des lien, n'apparaisent plus.
pourtant dans toutes la page tous les textes apparaisent


encore merci de votre coup de main
Antoine
0
Je n'arrive toujours pas a résoudre mon probleme :(
Pourriez vous m'aider .

Merci d'avance
0
GallyNet Messages postés 434 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 15 décembre 2008 387
10 oct. 2005 à 09:49
Quand tu écrit ton lien, il faut lui mettre le nom de la variable contenant la langue.
Si tu écrit ton lien dans de l'HTML :
start.php?lg=<?php echo $_GET['lg'];?>&page_id=1


Si tu l'écris avec tu PHP :
<?php
echo 'start.php?lg='.$_GET['lg'].'&page_id=1';
?>
0
Un grand merçi de ton coup de main,
ce problème est résolu.
0