[PHP] Probleme variable

AntoineW -  
 AntoineW -
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

  1. GallyNet Messages postés 437 Statut Membre 387
     
    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
  2. AntoineW
     
    merci , pourrais tu me donner un exemple.
    je suis débutant
    merci d'avance
    0
  3. GallyNet Messages postés 437 Statut Membre 387
     
    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
  4. AntoineW
     
    un grand merci de ton aide, je vais essaier directement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. AntoineW
     
    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
  7. AntoineW
     
    Je n'arrive toujours pas a résoudre mon probleme :(
    Pourriez vous m'aider .

    Merci d'avance
    0
  8. GallyNet Messages postés 437 Statut Membre 387
     
    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
  9. AntoineW
     
    Un grand merçi de ton coup de main,
    ce problème est résolu.
    0