IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Modification de $_SESSION après changement de <select>


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 50
    Points
    50
    Par défaut Modification de $_SESSION après changement de <select>
    Bonsoir.
    Alors voilà je suis entrain de mettre en place un bouton select pour changer la langue de mon site.

    Il est dans une barre de navigation sous la forme :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <nav>
    <form method="post" action="<?php echo $_SERVER['REQUEST_URI'] ?> ">
    <select name="langue" size="1" id="lg_select" method="post" onChange="this.parentNode.submit()">
    <option value="fr">FR ▾ </option>
    <option value="en">EN ▾ </option>
    </select>
    </form>
    </nav>

    Cette barre de navigation est importée dans plusieurs fichiers php (index.php,contact.php etc..)
    Le souci est que je n'arrive pas à implémenter le changement de Session au changement d'option sélectionnée dans le select sans écraser $_SESSION à chaque fois que je submit le fomulaire contenant le select.

    Merci pour votre aide !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Montre le code.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 50
    Points
    50
    Par défaut
    Le début de code dans la page index.php. Le reste n'est que du texte.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php session_start(); 
     
    if($_SESSION["lang"] == "en")
    {
    	include($_SERVER['DOCUMENT_ROOT'].'templates/lang/eng_labels.php');
    }
    else
    {
    	include($_SERVER['DOCUMENT_ROOT'].'templates/lang/fr_labels.php');
    }
     
            include($_SERVER['DOCUMENT_ROOT'].'templates/php/header.php');
     
     
            include($_SERVER['DOCUMENT_ROOT'].'templates/php/navbar.php');
        ?>  
    <html>

    la barre de navigation concernée :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <nav class="navbar">
    	<a href="index.php" id="index" class="link"><?php echo $label_accueil; ?></a>
    	<a href="assets/php/reportage.php" id="rep"class="link"><?php echo $label_reportages; ?></a>
    	<a href="assets/php/avenir.php" id="come"class="link"><?php echo $label_avenir; ?></a>		
    	<a href="assets/php/faq.php" id="faq"class="link"><?php echo $label_faq; ?></a>
    	<a href="assets/php/contact.php" id="cont"class="link"><?php echo $label_contact; ?></a>
    	<a href="assets/php/admin.php" id="admin"class="link"><?php echo $label_admin; ?></a>
    	<form id="formLang" method="post" action="<?php echo $_SERVER["REQUEST_URI"] ?>">
    	<select name="langue" size="1" id="lg_select" onChange="this.parenNode.submit()">
    		<option value="fr" id="fr" selected>FR ▾ </option>
    		<option value="en" id="en" >EN ▾ </option>
    	</select>
    	</form>
    </nav>

    J'ai essayé plusieurs choses : le démarrage de session avec le test associé dans la barre de navigation etc.. Mais le problème reste le même : à chaque fois que je submit le formulaire, la langue change mais dès lors que je change d'onglet sur le site, la langue est écrasée. De plus (mais là ça relève plutôt du JavaScript je pense), la valeur du select est également écrasée.

    exemple: J'arrive sur mon site, il est en Français. Je modifie la langue à l'aide du select. Au changement, le formulaire est soumis et donc la page rechargée en anglais, mais le select reste sur "FR", du coup impoossible de changer à nouveau de langue. Ensuite je souhaite naviguer sur le site, au changement d'onglet la page est réécrite en français. La valeur session est écrasée alors que dans d'autres pages (contact.php par exemple), il n'y a encore aucune de ligne de php.

    Merci pour votre aide !

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	<select name="langue" size="1" id="lg_select" onChange="this.parenNode.submit()">
    <?php
    	$lang_array = ['fr','en'];	// on peut facilement ajouter d'autres langues
    	foreach($lang_array as $lg )
    	{
    		$selected = ($_SESSION["lang"]==$lg)? ' selected="selected"' : '';
    		echo '		<option value="'.$lg.'" id="'.$lg.'"'.$selected.'>'.strtoupper($lg).'</option>'."\n";
    	}
    ?>
    	</select>

Discussions similaires

  1. [MySQL] Récupération de var $_SESSION après <iframe>
    Par alaska750 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/09/2009, 20h04
  2. Modification de $_SESSION
    Par gastoncs dans le forum Langage
    Réponses: 6
    Dernier message: 23/08/2009, 14h12
  3. [MFC] Menu inaccessible après changement de nom
    Par Philippe320 dans le forum MFC
    Réponses: 5
    Dernier message: 07/12/2005, 22h10
  4. Réponses: 2
    Dernier message: 05/12/2005, 11h02
  5. probleme apres changement du password du listener
    Par ORA_9i dans le forum Oracle
    Réponses: 1
    Dernier message: 26/11/2005, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo