Navhome fait un reset de la langue sélectionnée [Résolu]

Signaler
Messages postés
20
Date d'inscription
mardi 6 mai 2014
Statut
Membre
Dernière intervention
17 avril 2020
-
Messages postés
20
Date d'inscription
mardi 6 mai 2014
Statut
Membre
Dernière intervention
17 avril 2020
-
Bonsoir,

Je développe actuellement un site web qui contient la possibilité de sélectionner la langue (PHP), cependant à chaque fois que je clique sur l'icône représentant 'navhome' de la 'navbar', la langue sélectionnée se réinitialise en français. Quelqu'un aurait-il une solution à me proposer.

Merci d'avance

8 réponses

Messages postés
32948
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 juin 2021
351
Bonjour,

Comme te l'a suggéré NHenry, l'utilisation des cookies et/ou des sessions est surement préférable.
Et en effet, il est plutot aisé de trouvé des tutos sur leur utilisation sur le net...


Mais bon, voici déjà comment avec les variables de SESSION tu pourrais procéder :

<?php
// Pour l'utilisation des variables de session en PHP:
  session_start();

// Récupération du choix de la langue passée en GET
// via ta liste déroulante.
// On la stocke dans la variable de session
  if(isset($_GET['lan'])){
     $_SESSION['lan'] =  $_GET['lan'] ;
  }

require('_incl/lan_fr.php');
require('_incl/lan_nl.php');
require('_incl/lan_en.php');




$lan =isset($_SESSION['lan'])?$_SESSION['lan']:'FR';
 switch ($lan) {
   case 'FR':
    $TEXT = $TEXT_FR;
    break;
   case 'NL':
    $TEXT = $TEXT_NL;
    break;
   case 'EN':
    $TEXT = $TEXT_EN;
    break;
 }
?>




Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Ben, en regardant dans ton fichier index.php à la ligne 42 et en remplaçant la valeur 10 par 18, ça devrait passer ...

Plus sérieusement, comment peux-tu penser qu'avec aussi peu d'informations, on puisse t'aider ?
Messages postés
20
Date d'inscription
mardi 6 mai 2014
Statut
Membre
Dernière intervention
17 avril 2020

Désolé, je pensais qu'il y avait peut-être un code ou une clé standard à ajouter.

Voici la page de la barre de navigation :

 <?php
require('_incl/lan_fr.php');
require('_incl/lan_nl.php');
require('_incl/lan_en.php');


$lan = isset($_GET['lan']) ? $_GET['lan'] : 'FR';
switch ($lan) {
case 'FR':
$TEXT = $TEXT_FR;
break;
case 'NL':
$TEXT = $TEXT_NL;
break;
case 'EN':
$TEXT = $TEXT_EN;
break;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type ="text/css" href="styles/styles.css" />
<title>Un nouveau concept</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />

<meta name="keywords"
 content="blablabla" />

<meta name="description"
 content="Un nouveau concept" />
</head>
<body>
<div id="nav">
<ul>
<li class="navhome"><a href="page1.php"><img src="styles/images/logo.png" img border="0" alt="ALT" id="Logo"/></a></li>
<li><a href="thereview.php"><?php echo($TEXT['review']); ?></a></li>
<li><a href="newconcept.php">le nouveau concept</a></li>
<li><a href="avantages.php">Les Avantages</a></li>
<li><a href="risks.php">Les Risques</a></li>
<li><a href="establishment.php">La Mise en Place</a></li>
<li><a href="contact.php">Contactez-nous</a></li>
</ul>
</div>
<form id="languages">
<select onchange="window.location.href= this.form.URL.options[this.form.URL.selectedIndex].value" name="URL">
<option value="page1.php?lan=FR">Français</option>
<option value="page1.php?lan=NL">Nederlands</option>
<option value="page1.php?lan=EN">English</option>
</select>
</form>
</body>
</html>


Merci d'avance,
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Message édité pour ajouter la coloration syntaxique.
Voir ce lien : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonsoir,

Visiblement tu utilises un paramètre GET pour mémoriser l'information.
Je pense que l'enregistrer dans une session (ou un cookie) serait plus pratique.
Messages postés
20
Date d'inscription
mardi 6 mai 2014
Statut
Membre
Dernière intervention
17 avril 2020

Bonjour,

Désolé de répondre si tardivement, mais j'étais parti quelques jours. Là je suis d'attaque pour reprendre le développement de mes sites. J'avoue que je suis assez novice, et que j'apprends sur base de bouquins et de sites. Du coup, j'aimerais savoir quelle est la meilleure solution pour développer un site multilingue. Je pensais le faire avec du php (avec code assez simple), mais peut-être je me trompe et il existe d'autre moyens. Dans le cas où ce serait eefectivement du php, où puis-je trouver des codes php pour sites multilingue ?

Aussi, j'utilise CSS pour la partie graphique des sites, mais parfois, souvent même, des codes assez simple de CSS comme le positionnement d'une image, ou la police d'un titre (h1), n'ont aucun effet sur le site. Pourtant je suis persuadé de les avoir codé correctement.

Merci pour votre aide.
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Bonjour,

Je ne contestais pas ta méthode par PHP, mais je te conseillais plutôt d'utiliser une session ou un cookie pour mémoriser la langue plutôt que d'utiliser un paramètre GET.

If a Dalek is a being of pure hate...what happens when Cadence uses her love spell on one?
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
Messages postés
20
Date d'inscription
mardi 6 mai 2014
Statut
Membre
Dernière intervention
17 avril 2020

Merci pour tes messages. Tu connais un site où je peux trouver des codes php pour les méthodes de cookies ou de session ?

Aussi à quoi les problèmes css peuvent-ils être dus. J'ai 1 page css, 1 page pour la navbar et une page d'accueil. Je ne comprends pas pourquoi les liens avec css (font-style, position, ...) ne se font pas toujours ? As-tu par hasard une explication et/ou une solution pour ce genre de problème de novice.

Merci d'avance,
Messages postés
14799
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 juin 2021
155
Pour les sessions et les cookies, une simple recherche peut t'aider.
Pour ton pb de CSS, je ne saurais te répondre, pas assez d'info/code.
Messages postés
20
Date d'inscription
mardi 6 mai 2014
Statut
Membre
Dernière intervention
17 avril 2020

Cela fonctionne, merci beaucoup, j essaierai de mieux chercher la prochaine fois ..